这道题的关键在于对题意的理解,代码本身不难。
自己写的代码是4个方向的递归:易于理解缺点是代码量大。
public int numRookCaptures(char[][] board) {
int x = 0,y = 0;
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
if ('R' == board[i][j]){
x = i;
y = j;
}
}
}
return dfs1(board,x,y)+
dfs2(board,x,y)+
dfs3(board,x,y)+
dfs4(board,x,y);
}
int count1 = 0;
private int dfs1(char[][] board,int x , int y){
if (x