leetcode-419.棋盘上的战舰
一.题目描述

二.第一次代码提交
class Solution {
public:
int countBattleships(vector<vector<char>>& board) {
int m = board.size();
int n = board[0].size();
int count = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if ((board[i][j] == 'X') && (i == 0 || board[i - 1][j] == '.') && (j == 0 || board[i][j - 1] == '.')) {
count++;
}
}
}
return count;
}
};
三.第二次代码提交
class Solution {
public:
int countBattleships(vector<vector<char>>& board) {
int m = board.size();
int n = board[0].size();
int count = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (board[i][j] == 'X') {
board[i][j] = '.';
for(int k=i+1; k<m && board[k][j] == 'X' ;k++){ board[k][j] = '.'; }
for(int k=j+1; k<n && board[i][k] == 'X' ;k++){ board[i][k] = '.'; }
count++;
}
}
}
return count;
}
};