题目描述:
一次结束的代码
class Solution {
public int numRookCaptures(char[][] board) {
int x = 0;
int y = 0;
//有一个白色车(rook)。也可能有空方块,
//白色的象(bishop)和黑色的卒(pawn)。
//它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。
//首先获取到车所在的位置
for (int i = 0; i < board.length; i++) {
for (int j = 0; j < board[i].length; j++) {
if(board[i][j] == 'R'){
x = i;
y = j;
break;
}
}
}
//四个方向遍历
int result = 0;
//向上
for (int i = y - 1; i >= 0; i--) {
if(board[x][i] == '.'){
continue;
}else if (board[x][i]=='B') {
break;
}else {
result ++;
break;
}
}
//向下
for (int i = y + 1; i < board.length; i++) {
if(board[x][i] == '.'){
continue;
}else if (board[x][i]=='B') {
break;
}else {
result ++;
break;
}
}
//向左
for (int i = x - 1; i >= 0; i--) {
if(board[i][y] == '.'){
continue;
}else if (board[i][y]=='B') {
break;
}else {
result ++;
break;
}
}
//向右
for (int i = x + 1; i < board[0].length; i++) {
if(board[i][y] == '.'){
continue;
}else if (board[i][y]=='B') {
break;
}else {
result ++;
break;
}
}
return result;
}
}