题目描述:

  给定一个二维网格和一个单词,找出该单词是否存在于网格中。

  单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

  示例:

  board =
    [
    ['A','B','C','E'],
    ['S','F','C','S'],
    ['A','D','E','E']
    ]

  给定 word = "ABCCED", 返回 true.
  给定 word = "SEE", 返回 true.
  给定 word = "ABCB", 返回 false.

题解:

public class L79 {
static Boolean resflag = false;
static int[] dx = {1,0,-1,0},dy = {0,-1,0,1};
public static boolean exist(char[][] board, String word) {
resflag = false;
if (board == null || board.length == 0){return false;}
char[] wordChar = word.toCharArray();
boolean[][] flag = new boolean[board.length][board[0].length];
for(int boardX = 0;boardX<board.length;boardX++){
for(int boardY = 0;boardY < board[0].length;boardY ++){
if(board[boardX][boardY] == wordChar[0]){
flag[boardX][boardY] = true;
backExist(board,1,wordChar, flag,boardX,boardY);
//结果为true,直接返回,否则继续遍历
if(resflag)return true;
flag[boardX][boardY] = false;
        Boolean x = exist(board,  word);
System.out.println(x);
}
}

 

相关文章:

  • 2022-12-23
  • 2021-11-24
  • 2022-12-23
  • 2021-08-28
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-15
猜你喜欢
  • 2021-12-19
  • 2021-07-10
  • 2021-09-22
  • 2022-12-23
  • 2019-12-27
  • 2021-06-11
  • 2021-07-10
相关资源
相似解决方案