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;
}
}