text function exist(board, word): for row from 0 to rows - 1: for col from 0 to cols - 1: if dfs(board, word, row, col, 0): return true return false function dfs(board, word, row, col, index): if index == length(word): return true if row < 0 or row >= rows or col < 0 or col >= cols: return false if board[row][col] != word[index]: return false temp = board[row][col] board[row][col] = '#' found = dfs(board, word, row+1, col, index+1) or dfs(board, word, row-1, col, index+1) or dfs(board, word, row, col+1, index+1) or dfs(board, word, row, col-1, index+1) board[row][col] = temp return found Time complexity: . Space complexity: for recursion.
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
$ curl repovive.com/roadmaps/maang-interview-prep/backtracking/word-search-pseudocode
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████████████████████████████████████████████████████████████████████████████████