

#yyds干货盘点# LeetCode 热题 HOT 100:单词搜索
source link: https://blog.51cto.com/u_13321676/5754397
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

#yyds干货盘点# LeetCode 热题 HOT 100:单词搜索
精选 原创给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCCED"
输出:true
输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "SEE"
输出:true
输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCB"
输出:false
代码实现:
public boolean exist(char[][] board, String word) {
int h = board.length, w = board[0].length;
boolean[][] visited = new boolean[h][w];
for (int i = 0; i < h; i++) {
for (int j = 0; j < w; j++) {
boolean flag = check(board, visited, i, j, word, 0);
if (flag) {
return true;
}
}
}
return false;
}
public boolean check(char[][] board, boolean[][] visited, int i, int j, String s, int k) {
if (board[i][j] != s.charAt(k)) {
return false;
} else if (k == s.length() - 1) {
return true;
}
visited[i][j] = true;
int[][] directions = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};
boolean result = false;
for (int[] dir : directions) {
int newi = i + dir[0], newj = j + dir[1];
if (newi >= 0 && newi < board.length && newj >= 0 && newj < board[0].length) {
if (!visited[newi][newj]) {
boolean flag = check(board, visited, newi, newj, s, k + 1);
if (flag) {
result = true;
break;
}
}
}
}
visited[i][j] = false;
return result;
}
}
Recommend
-
6
#yyds干货盘点# LeetCode 热题 HOT 100:两数相加 精选 原创 灰太狼_cxh 2022-09-...
-
4
#yyds干货盘点# LeetCode 热题 HOT 100:两数之和 精选 原创 灰太狼_cxh 2022-09-...
-
4
#yyds干货盘点# LeetCode 热题 HOT 100:四数之和 精选 原创 灰太狼_cxh 2022-09-...
-
9
#yyds干货盘点# LeetCode 热题 HOT 100: 有效的括号 精选 原创 灰太狼_cxh 2022-...
-
7
#yyds干货盘点# LeetCode 热题 HOT 100:括号生成 精选 原创 灰太狼_cxh 2022-09-...
-
5
#yyds干货盘点# LeetCode 热题 HOT 100:接雨水 精选 原创 灰太狼_cxh 2022-09-27...
-
5
#yyds干货盘点# LeetCode 热题 HOT 100:全排列 精选 原创 灰太狼_cxh 2022-09-27...
-
8
#yyds干货盘点# LeetCode 热题 HOT 100:最大子数组和 精选 原创 灰太狼_cxh 2022...
-
5
#yyds干货盘点# LeetCode 热题 HOT 100:跳跃游戏 精选 原创 灰太狼_cxh 2022-09-...
-
3
#yyds干货盘点# LeetCode 热题 HOT 100:单词拆分 精选 原创 灰太狼_cxh 2022-10-...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK