二维矩阵的DFS算法框架
关于岛屿的相似题目:
python
# 二叉树遍历框架
def traverse(root):
if not root:
return
# 前序遍历
traverse(root.left)
# 中序遍历
traverse(root.right)
# 后序遍历
# 二维矩阵的DFS算法框架
def dfs_matrix(grid, i, j, visited):
m, n = len(grid), len(grid[0])
# 跳出递归条件
if i < 0 or i >= m or j < 0 or j >= n:
return
if visited[i][j]:
return
visited[i][j] = True
dfs_matrix(grid, i-1, j, visited) # 上
dfs_matrix(grid, i+1, j, visited) # 下
dfs_matrix(grid, i, j-1, visited) # 左
dfs_matrix(grid, i, j+1, visited) # 右