題解:類似使用這個技巧的問題還有:「力扣」第 130 題:被圍繞的區域、「力扣」第 200 題:島嶼數量。
class solution ,,,};
bool exist(vector>& board, string word)
int row = board.size();
int col = board[0].size();
// 記錄狀態,回溯使用
vector> visited(row, vector(col, false));
for(int i = 0; i < row; ++i) }}
return false;
}bool dfs(const vector>& board, int row, int col, int begin, int x, int y,
const std::string& word, vector>& visited)
// 如果不想等,返回false
if(board[x][y] != word[begin])
// 記錄這個節點已經訪問過
visited[x][y] = true;
// 遍歷四個方向,繼續查詢
for(int i = 0; i < direction.size(); ++i) }}
// 回溯
visited[x][y] = false;
return false;}};
79 單詞搜尋
給定乙個二維網格和乙個單詞,找出該單詞是否存在於網格中。單詞必須按照字母順序,通過相鄰的單元格內的字母構成,其中 相鄰 單元格是那些水平相鄰或垂直相鄰的單元格。同乙個單元格內的字母不允許被重複使用。示例 board a b c e s f c s a d e e 給定 word abcced 返回t...
79 單詞搜尋
不允許重複使用字母 seen 0for i in range n for j in range m for i in range m for j in range n if self.search board,word,0,i,j,seen return true return false word...
79 單詞搜尋
給定乙個二維網格和乙個單詞,找出該單詞是否存在於網格中。單詞必須按照字母順序,通過相鄰的單元格內的字母構成,其中 相鄰 單元格是那些水平相鄰或垂直相鄰的單元格。同乙個單元格內的字母不允許被重複使用。示例 board a b c e s f c s a d e e 給定 word abcced 返回 ...