从上到下,从左到右遍历,遇到X,判断左边和上边是否有X,没的话则为新出现的battleship。
class Solution {
public:
int countBattleships(vector<vector<char>>& board) {
int res = 0;
for (int i = 0; i < board.size(); i++) {
for (int j = 0; j < board[i].size(); j++) {
if (board[i][j] == 'X'){
if ((i > 0 && board[i - 1][j] == 'X') || (j > 0 && board[i][j - 1] == 'X')) continue;
else res += 1;
}
}
}
return res;
}
};