美好的一天从练手感开始
这应该是昨天的每日一题,用的递归,不难,就不阐述了
func numIslands(grid [][]byte) int {
var count = 0
if len(grid)==0{
return 0
}
for i:=0;i<len(grid);i++{
for j:=0;j<len(grid[i]);j++{
if grid[i][j]=='1' { //满足条件进行递归
count++
dfs(i,j,grid) }
}
}
return count
}
func dfs(i,j int, grid [][]byte) {
if i>=len(grid) ||i<0|| j>=len(grid[0]) || j<0 || grid[i][j]=='0'{
return
}
grid[i][j]='0'
dfs(i,j+1,grid)
dfs(i,j-1,grid)
dfs(i+1,j,grid)
dfs(i-1,j,grid)
}