踏踏实实一个个元素来
bool isValidSudoku(vector<vector<char>> &board)
{
for (int i = 0; i < 9; i++)
{
for (int j = 0; j < 9; j++)
{
char value = board[i][j];
if (value == '.')
{
continue;
}
for (int k = 0; k < 9; k++)//遍历board[i][j]所在行列
{
if (k != j && board[i][k] == value)
{
return false;
}
if (k != i && board[k][j] == value)
{
return false;
}
}
int x = i / 3 * 3, y = j / 3 * 3;//精辟
for (int l = 0; l <= 2; l++) //判断是否在它所在的九宫格重复
{
for (int r = 0; r <= 2; r++)
{
if (x + l == i && y + r == j)
continue;
if (board[x + l][y + r] == value)
return false;
}
}
}
}
return true;
}