Word Search (Leetcode 79)

Problem Link: https://leetcode.com/problems/word-search/description/

```python3
class Solution:
    def exist(self, board: List[List[str]], word: str) -> bool:


        def recursion(word, i, j, m, n):

            if(i<0 or j<0 or i>=m or j>=n):
                return False

            if(len(word) == 1):
                if(board[i][j] == word[0]):
                    return True
                else:
                    return False
            
            if(word[0]!=board[i][j]):
                return False
            
            else:
                temp = board[i][j]
                board[i][j] = '*'
                ans = (recursion(word[1:], i+1, j, m, n) or recursion(word[1:], i-1, j, m, n) or recursion(word[1:], i, j+1, m, n) or recursion(word[1:], i, j-1, m, n))
                board[i][j] = temp
                return ans
            
            

        m = len(board)
        n = len(board[0])
        for i in range(m):
            for j in range(n):
                if(word[0]==board[i][j] and recursion(word, i, j, m, n)):
                    return True
        return False
        
```

Last updated