0
点赞
收藏
分享

微信扫一扫

LeetCode - 419 甲板上的战舰

迪莉娅1979 2022-01-13 阅读 62

在这里插入图片描述
在这里插入图片描述

class Solution {

    public void dfs(char[][] board,int i,int j){
         int m = board.length;
         int n = board[0].length;
         board[i][j] = '.';//遍历后的'X' 变成点
         if(i-1 >=0 && board[i-1][j] =='X')//上
            dfs(board,i-1,j);
         if(i+1 < m && board[i+1][j] =='X')//下
            dfs(board,i+1,j);
         if(j-1 >=0 && board[i][j-1] =='X')//左
            dfs(board,i,j -1);
         if(j+1 < n && board[i][j+1] =='X')//右
            dfs(board,i,j+1);
          
    }

    public int countBattleships(char[][] board) {
       int m = board.length;//行
       int n = board[0].length;//列
       int ans = 0;
       for(int i =0;i<m;i++){
           for(int j=0;j<n;j++){
              if(board[i][j] =='X'){
                  ans += 1;
                  dfs(board,i,j);
              }
                  
           }
       }
       return ans;
    }
}
举报

相关推荐

0 条评论