LeetCode 200. 岛屿数量(Go)
原题链接
中等
作者:
自由如风_9
,
2021-01-23 20:16:28
,
所有人可见
,
阅读 424
func numIslands(grid [][]byte) int {
if len(grid) == 0{return 0}
row, col := len(grid), len(grid[0])
var count int
for x := 0; x < row; x++{
for y := 0; y < col; y++{
if grid[x][y] == '1'{
count++
dfs(x, y, grid)
}
}
}
return count
}
func dfs(x, y int, grid [][]byte){
if x < 0 || y < 0 || x >= len(grid) || y >= len(grid[0]) || grid[x][y] == '0'{
return
}
grid[x][y] = '0'
dfs(x - 1, y, grid)
dfs(x + 1, y, grid)
dfs(x, y - 1, grid)
dfs(x, y + 1, grid)
}