Skip to content

Commit 4bd55ba

Browse files
committed
word search solution
1 parent 065acb2 commit 4bd55ba

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

word-search/devyejin.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
class Solution:
2+
def exist(self, board: list[list[str]], word: str) -> bool:
3+
def backtrack(x, y, idx):
4+
if idx == len(word):
5+
return True
6+
7+
if not (0 <= x < m and 0 <= y < n) or board[x][y] != word[idx]:
8+
return False
9+
10+
tmp, board[x][y] = board[x][y], "@"
11+
12+
res = (
13+
backtrack(x + 1, y, idx + 1) or
14+
backtrack(x - 1, y, idx + 1) or
15+
backtrack(x, y + 1, idx + 1) or
16+
backtrack(x, y - 1, idx + 1)
17+
)
18+
19+
board[x][y] = tmp
20+
return res
21+
22+
m = len(board)
23+
n = len(board[0])
24+
25+
for r in range(m):
26+
for c in range(n):
27+
if backtrack(r, c, 0):
28+
return True
29+
30+
return False

0 commit comments

Comments
 (0)