题解 | #岛屿数量#

岛屿数量

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

package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 判断岛屿数量
 * @param grid char字符型二维数组 
 * @return int整型
*/
func solve( grid [][]byte ) int {
    // write code here
    if len(grid) == 0 || len(grid[0]) == 0 {
        return 0
    }

    num := 0 
    for i := 0; i < len(grid); i++ {
        for j := 0; j < len(grid[0]);j++ {
            if grid[i][j] == '1' {
                dfs(grid, i, j)
                num++
            }
        }
    }
    return num
}

func dfs (grid [][]byte, i,j int){
    if i < 0 || i >= len(grid) || j < 0 || j >= len(grid[0]) || grid[i][j] == '0' {
        return
    }
    grid[i][j] = '0'
    dfs(grid, i + 1, j)
    dfs(grid, i - 1, j)
    dfs(grid, i, j + 1)
    dfs(grid, i, j - 1)
}


全部评论

相关推荐

不愿透露姓名的神秘牛友
07-15 17:09
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务