Skip to content

Commit a58c7bb

Browse files
79. Word Search (java)
1 parent 5c703c0 commit a58c7bb

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
class Solution {
2+
private char[] cs;
3+
private char[][] board;
4+
public boolean exist(char[][] board, String word) {
5+
this.cs = word.toCharArray();
6+
this.board = board;
7+
for (int i = 0; i < board.length; i++) {
8+
for (int j = 0; j < board[i].length; j++) {
9+
if (board[i][j] == cs[0] && backtrack(i, j, 0)) return true;
10+
}
11+
}
12+
return false;
13+
}
14+
private boolean backtrack(int i, int j, int k) {
15+
if (board[i][j] == cs[k]) {
16+
if (k == cs.length - 1) return true;
17+
char cache = board[i][j];
18+
board[i][j] = 0;
19+
k++;
20+
if ( i > 0 && backtrack(i - 1, j, k)
21+
|| i < board.length - 1 && backtrack(i + 1, j, k)
22+
|| j > 0 && backtrack(i, j - 1, k)
23+
|| j < board[i].length - 1 && backtrack(i, j + 1, k)) {
24+
return true;
25+
}
26+
board[i][j] = cache;
27+
}
28+
return false;
29+
}
30+
}

0 commit comments

Comments
 (0)