79. Word Search

Posted zhuangbijingdeboke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了79. Word Search相关的知识,希望对你有一定的参考价值。

 1 static int wing=[]()
 2 {
 3     std::ios::sync_with_stdio(false);
 4     cin.tie(NULL);
 5     return 0;
 6 }();
 7 
 8 class Solution 
 9 {
10 public:
11     bool exist(vector<vector<char>>& board, string &word) 
12     {
13         int len=word.length();
14         int szrow=board.size();
15         int szcol=board[0].size();
16         bool back=false;
17         for(int row=0;row<szrow;row++)
18         {
19             for(int col=0;col<szcol;col++)
20             {
21                 if(board[row][col]==word[0])
22                 {
23                     if(judge(board,row,col,szrow,szcol,word,len,0))
24                         return true;
25                 }                 
26             }
27         }
28         return false;
29     }
30     
31     bool judge(vector<vector<char>> &board,int row,int col,int &szrow,int &szcol,string &word,int &len,int p)
32     {
33         bool res=false;
34         char cur=board[row][col];
35         if(board[row][col]!=word[p])
36             return false;
37         if(p==len-1)
38             return true;
39         board[row][col]=+;
40         if(row>0)                   res=judge(board,row-1,col,szrow,szcol,word,len,p+1);
41         if(res==false&&row<szrow-1) res=judge(board,row+1,col,szrow,szcol,word,len,p+1);
42         if(res==false&&col>0)       res=judge(board,row,col-1,szrow,szcol,word,len,p+1);
43         if(res==false&&col<szcol-1) res=judge(board,row,col+1,szrow,szcol,word,len,p+1);
44         board[row][col]=cur;
45         return res;
46     }
47 };

字符矩阵中查找单词,要求单词字母必须相邻出现在矩阵中,动态规划搞定,比较完当前单词,将当前单词置为一个符号,类似那个岛屿问题,向四个方向查找,在比较完当前坐标后,要把字符换回来。

以上是关于79. Word Search的主要内容,如果未能解决你的问题,请参考以下文章

79. Word Search

79. Word Search

LeetCode79. Word Search

79. Word Search

79. Word Search

79. Word Search