LeetCode - Word Search
来源:互联网 发布:魔方矩阵 编辑:程序博客网 时间:2024/03/29 18:29
Given a 2D board and a word, find if the word exists in the grid.
The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally or vertically neighboring. The same letter cell may not be used more than once.
For example,
Given board =
[ ["ABCE"], ["SFCS"], ["ADEE"]]word =
"ABCCED"
, -> returns true
,word =
"SEE"
, -> returns true
,word =
"ABCB"
, -> returns false
.class Solution {public: bool exist(vector<vector<char> >& board, vector<vector<bool> >& visited, const string& word,int index,int row,int col){bool existed=false;if(index==word.size()){return !existed;}if(row>0&&!visited[row-1][col]&&board[row-1][col]==word[index]){//upvisited[row-1][col]=true;existed=exist(board,visited,word,index+1,row-1,col);if(existed){return existed;}visited[row-1][col]=false;}if(row<board.size()-1&&!visited[row+1][col]&&board[row+1][col]==word[index]){//downvisited[row+1][col]=true;existed=exist(board,visited,word,index+1,row+1,col);if(existed){return existed;}visited[row+1][col]=false;}if(col>0&&!visited[row][col-1]&&board[row][col-1]==word[index]){//leftvisited[row][col-1]=true;existed=exist(board,visited,word,index+1,row,col-1);if(existed){return existed;}visited[row][col-1]=false;}if(col<board[0].size()-1&&!visited[row][col+1]&&board[row][col+1]==word[index]){//rightvisited[row][col+1]=true;existed=exist(board,visited,word,index+1,row,col+1);if(existed){return existed;}visited[row][col+1]=false;}return existed; } bool exist(vector<vector<char> > &board, string word) {bool existed=false; if(board.empty()||board.size()==0||board[0].empty()||board[0].size()==0){return existed;}int m=board.size(),n=board[0].size();vector<vector<bool> > visited(m,vector<bool>(n,false));for(int i=0;i<m;i++){for(int j=0;j<n;j++){if(board[i][j]==word[0]){visited[i][j]=true;existed=exist(board,visited,word,1,i,j);if(existed){return existed;}visited[i][j]=false;}}}return existed; }};
- LeetCode: Word Search
- [Leetcode] Word Search
- LeetCode : Word Search
- Leetcode: Word Search
- [LeetCode] Word Search
- leetcode 56: Word Search
- Leetcode 79 Word Search
- [leetcode ] word search
- [Leetcode] Word Search
- [LeetCode]Word Search
- Leetcode Word Search
- [leetcode]word search
- [leetcode] Word Search
- LeetCode-Word Search
- [LeetCode] Word Search
- LeetCode - Word Search
- leetcode word search
- LeetCode:Word Search
- 消息 5070 在其他用户正式用数据库“”时无法更改数据库状态
- flash wmode 屏蔽遮挡弹出层
- c++学习笔记(1.c到c++的升级)
- LoadRunner参数化取值与连接数据库
- 海思开发经验谈
- LeetCode - Word Search
- vimgrep基本操作
- 转载_获取Linux内核未导出符号的几种方式
- 关于listView的item失去焦点不能点击
- vim替换字符串
- 电话拨打的app层流程
- Linux网络编程介绍
- 关于 WinHttpWriteData 出错 GetLastError() 值为 87(ERROR_INVALID_PARAMETER)
- 手动配置CentOS 的IP 地址