zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    Ubuntu-18.04 设置开机启动脚本
    香橙派PC Plus开发镜像制作
    Flurl使用Polly添加重试机制
    在Windows上远程调试Ubuntu-Arm上的.Netcore
    NAT
    关于visual studio 2019的参数信息快捷键无效
    spring cloud ip地址注册问题
    spring cloud sleuth集成问题
    spring boot admin 安装问题
    pm2+nuxt 自动重启问题
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/10969832.html
Copyright © 2011-2022 走看看