题解 | #岛屿数量#

岛屿数量

http://www.nowcoder.com/practice/0c9664d1554e466aa107d899418e814e

深度优先遍历
注意grid 中的0, 1 均为字符串

class Solution:
    def dfs(self, grid, i, j, rows, cols):
        if i < 0 or j < 0 or j >= cols or i >= rows:
            return
        if grid[i][j] != '1':
            return
        grid[i][j] = '2'
        self.dfs(grid, i + 1, j, rows, cols)
        self.dfs(grid, i, j + 1, rows, cols)
        self.dfs(grid, i - 1, j, rows, cols)
        self.dfs(grid, i, j - 1, rows, cols)

    def solve(self, grid):
        # write code here
        if len(grid) < 1 or len(grid[0]) < 1:
            return 0
        rows = len(grid)
        cols = len(grid[0])
        ans = 0
        for i in range(rows):
            for j in range(cols):
                if grid[i][j] == '1':
                    self.dfs(grid, i, j, rows, cols)
                    ans += 1
        return ans
全部评论

相关推荐

11-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务