• 79. Word Search


    题目链接:https://leetcode.com/problems/word-search/

    解题思路:

    这个题目和剑指offer上的路径问题是一样的,今天再次复习一下写法。

     1 class Solution {
     2     public boolean exist(char[][] board, String word) {
     3         
     4         int row = board.length;
     5         int column = board[0].length;
     6         
     7         char [] str = word.toCharArray();
     8         
     9         boolean [][]flag = new boolean[row][column];
    10         
    11         for(int i=0;i<row;i++)
    12         {
    13             for(int j=0;j<column;j++)
    14             {
    15                 if(judge(board,i,j,row,column,flag,str,0))////循环遍历二维数组,找到起点等于str第一个元素的值,再递归判断四周是否有符合条件的----回溯法
    16                     return true;
    17             }
    18         }
    19         return false;
    20         
    21     }
    22     
    23     public boolean judge(char[][] board,int i,int j,int row,int column,boolean [][]flag,char[] str,int k)
    24     {
    25         if(i<0 || j<0 || i>=row || j>=column || board[i][j] != str[k] || flag[i][j] == true)
    26             return false;
    27         ////若k已经到达str末尾了,说明之前的都已经匹配成功了,直接返回true即可
    28         if(k==str.length-1)
    29             return true;
    30         ////要走的第一个位置置为true,表示已经走过了
    31         flag[i][j] = true;
    32         
    33         ////回溯,递归寻找,每次找到了就给k加一,找不到,还原
    34         if(judge(board,i+1,j,row,column,flag,str,k+1)||
    35           judge(board,i,j+1,row,column,flag,str,k+1)||
    36           judge(board,i-1,j,row,column,flag,str,k+1)||
    37           judge(board,i,j-1,row,column,flag,str,k+1))
    38         {
    39             return true;
    40         }
    41         ////走到这,说明这一条路不通,还原,再试其他的路径
    42         flag[i][j] = false;
    43         return false;
    44         
    45     }
    46 }
  • 相关阅读:
    替换configparser 中指定的值
    configparser 读取与赋值
    接口测试第五步 --》 拼接url
    接口测试第四步 --》 封装excel
    接口测试第三步 --》 封装请求方法
    接口测试第二步 --》 推荐定义一个log 文件
    超级直观理解tcp握手
    crash 潜水
    提高MySQL查询速度
    JSON文件存入MySQL数据库
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/10969832.html
Copyright © 2020-2023  润新知