/*
* @lc app=leetcode.cn id=200 lang=javascript
*
* [200] 岛屿数量
*/
// @lc code=start
/**
* @param {character[][]} grid
* @return {number}
* bfs 广度优先搜索
* dfs 深度优先搜索
*/
var numIslands = function (grid) {
let count = 0
function dfs(row,col){
// 判断边界值或者当前值是不是等于0
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
}
// @lc code=end