Check if Move is Legal LeetCode solution in Java

1
class Solution {
2
public boolean checkMove(char[][] board, int rMove, int cMove, char color) {
3

4
int[][] direction = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}, {1, 1}, {-1, -1}, {1, -1}, {-1, 1}};
5

6
for (int[] d : direction) {
7
if (dfs(board, rMove, cMove, color, d, 1)) return true;
8
}
9
return false;
10
}
11

12
public boolean dfs(char[][] board, int r, int c, char color, int[] direcn, int len) {
13

14
int nr = r + direcn[0];
15
int nc = c + direcn[1];
16

17
if (nr < 0 || nc < 0 || nr > 7 || nc > 7) return false;
18

19
if (board[nr][nc] == color) {
20
if (len >= 2) return true;
21
else return false;
22
} else {
23
if (board[nr][nc] == '.') {
24
return false;
25
}
26
return dfs(board, nr, nc, color, direcn, len + 1);
27
}
28
}
29
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0