[419] 甲板上的战舰

60 阅读1分钟

跟200题一样的解法

/*
 * @lc app=leetcode.cn id=419 lang=javascript
 *
 * [419] 甲板上的战舰
 */

// @lc code=start
/**
 * @param {character[][]} board
 * @return {number}
 */
var countBattleships = function(board) {
  let count = 0
  function dfs(row,col){
    // 判断边界值或者当前值是不是等于0
    if(row<0||row>=board.length||col<0||col>=board[0].length||board[row][col]!=='X'){
      return 
    }
    // 如果不是上面的条件就沉没岛屿
    board[row][col]='.'
    // 上下左右继续递归
    dfs(row-1,col)
    dfs(row+1,col)
    dfs(row,col-1)
    dfs(row,col+1)
  }
  for (let row = 0; row < board.length; row++) {
    for (let col = 0; col < board[0].length; col++) {
      if(board[row][col]==='X'){
        count++
        dfs(row,col)
      }
    }
  }
  return count
};
// @lc code=end