1、声明一个两个数组 rows, cols ,三个整数diagonal , anti_diagonal 和 size
2、用rows, cols,diagonal , anti_diagonal 来记录player 的 位置以便于检查获胜条件
public class TicTacToe {
private int[] rows;
private int[] cols;
private int diagonal;
private int anti_diagonal;
private int size;
public int move(int row, int col, int player) {
int toAdd = player == 1 ? 1 : -1;
rows[row] += toAdd;
cols[col] += toAdd;
if (row == col) diagonal += toAdd;
if (col == (size - row - 1)) anti_diagonal += toAdd;
return check(row,col,player);
}
private int check(int row, int col, int player) {
if (Math.abs(rows[row]) == size || Math.abs(cols[col]) == size || Math.abs(diagonal) == size || Math.abs(anti_diagonal) == size )
{return player;}
return 0;
}
}