leetcode中等79单词搜索
Posted qq_40707462
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode中等79单词搜索相关的知识,希望对你有一定的参考价值。
思路:回溯
用visited数组记录方格是否被遍历过,过后还原
class Solution:
def exist(self, board: List[List[str]], word: str) -> bool:
m,n=len(board),len(board[0])
visited=[]
directions = [(0, 1), (0, -1), (1, 0), (-1, 0)]
def dfs(i,j,index):
if board[i][j]!=word[index]:
return False
if index==len(word)-1 :
return True
for di,dj in directions:
newi, newj = i + di, j + dj
if 0 <= newi < m and 0 <= newj < n and [newi, newj] not in visited:
visited.append([i, j])
if dfs(newi,newj,index+1):
return True
visited.pop()
for i in range(m):
for j in range(n):
if dfs(i,j,0):
return True
return False
以上是关于leetcode中等79单词搜索的主要内容,如果未能解决你的问题,请参考以下文章
[JavaScript 刷题] 搜索 - 单词搜索, leetcode 79
[JavaScript 刷题] 搜索 - 单词搜索, leetcode 79