請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有字元的路徑。
路徑可以從矩陣中的任意乙個格仔開始,每一步可以在矩陣中向左,向右,向上,向下移動乙個格仔。
如果一條路徑經過了矩陣中的某乙個格仔,則之後不能再次進入這個格仔。
注意:
樣例
matrix=
[ ["a","b","c","e"],
["s","f","c","s"],
["a","d","e","e"]
]str="bcce" , return "true"
str="asae" , return "false"
想法:回溯法,逐個遍歷每一種情況。
classsolution}}
return
false
; }
bool dfs(vectorchar>>& matrix, string& str, int u, int x, int
y);
int dy[4] = ;
char t =matrix[x][y];
matrix[x][y] = '*'
;
for(int i = 0 ; i < 4 ; i++)}}
matrix[x][y] =t;
return
false;}
}
posted @
2019-03-30 16:05
tingwei_chen 閱讀(
...)
編輯收藏
劍指offer 矩陣中的路徑
請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有字元的路徑。路徑可以從矩陣中的任意乙個格仔開始,每一步可以在矩陣中向左,向右,向上,向下移動乙個格仔。如果一條路徑經過了矩陣中的某乙個格仔,則該路徑不能再進入該格仔。例如 a b t g c f c s j d e h 矩陣中包含一條字串...
劍指offer 矩陣中的路徑
請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有字元的路徑。路徑可以從矩陣中的任意乙個格仔開始,每一步可以在矩陣中向左,向右,向上,向下移動乙個格仔。如果一條路徑經過了矩陣中的某乙個格仔,則之後不能再次進入這個格仔。注意 matrix a b c e s f c s a d e e s...
劍指offer 矩陣中的路徑
請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有字元的路徑。路徑可以從矩陣中的任意乙個格仔開始,每一步可以在矩陣中向左,向右,向上,向下移動乙個格仔。如果一條路徑經過了矩陣中的某乙個格仔,則該路徑不能再進入該格仔。例如 矩陣中包含一條字串 bcced 的路徑,但是矩陣中不包含 abcb...