欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

岛屿数量-数组200-python

程序员文章站 2022-07-12 08:38:08
...

DFS

python

class Solution:
    def numIslands(self, grid: List[List[str]]):
        m = len(grid)
        n = len(grid[0])
        res = 0

        def dfs(i, j):
            if i < 0 or i >= m or j < 0 or j >= n or grid[i][j] == '0':
                return
            else:
                grid[i][j] = '0'
                dfs(i-1, j)
                dfs(i+1, j)
                dfs(i, j-1)
                dfs(i, j+1)

        for i in range(m):
            for j in range(n):
                if grid[i][j] == '1':
                    dfs(i, j)
                    res += 1
        
        return res