广度优先搜索(bfs)
深度优先搜索(dfs)
思路:沉没法(将这一块陆地置为0是为了不会重复计数),当遍历到字符‘1’,将其置为‘0’,并且count++,
再查找该点的上下左右是否还有1,有的话都置为零
递归结束条件是行或者列越界,小于0 或者等于0
var numIslands = function(grid) {
var count=0
function dfs(row,col){
if(row<0 || row>=grid.length || col<0 || col>=grid[0].length || grid[row][col]==='0'){
return
}
grid[row][col]='0'
dfs(row-1,col) //当前坐标的上
dfs(row+1,col) //当前坐标的下
dfs(row,col-1) //当前坐标的左
dfs(row,col+1) //当前坐标的右
}
for(let row=0;row<grid.length;row++){
for(let col=0;col<grid[0].length;col++){
if(grid[row][col]==='1'){
count++
dfs(row,col)
}
}
}
return count
};