LeetCode 79. Word Search
Posted 約束の空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 79. Word Search相关的知识,希望对你有一定的参考价值。
典型dfs题,按照框架写。由于之前刚做了200和694,dfs写的很顺手。不同于前两道,dfs需要返回布尔值,因此代码上有些许差异,但总体结构是一样的。
递归终止条件都写在了最前面。
class Solution { public: int di[4]={0,0,1,-1}; int dj[4]={1,-1,0,0}; bool exist(vector<vector<char>>& board, string word) { for (int i=0;i<board.size();++i){ for (int j=0;j<board[0].size();++j){ if (dfs(board,i,j,word,0)) return true; } } return false; } bool dfs(vector<vector<char>> &board, int i, int j, string &word, int index){if (i<0||i>=board.size()||j<0||j>=board[0].size()||board[i][j]!=word[index]) return false; if (index==word.size()-1) return true; char copy=board[i][j]; board[i][j] = ‘#‘; bool tmp=false; for (int k=0;k<4;++k){ if (dfs(board,i+di[k],j+dj[k],word,index+1)){ tmp = true; break; } } board[i][j] = copy; return tmp; } };
以上是关于LeetCode 79. Word Search的主要内容,如果未能解决你的问题,请参考以下文章