1. 思路
简单题目,统按需统计即可。
2.代码
class Solution {
public:
bool isValidSudoku(vector<vector<char>>& board) {
for(int i = 0; i < 9; i ++)
{
bool vis1[10] = { false }, vis2[10] = { false }, vis3[10] = { false };
for(int j = 0; j < 9; j ++)
{
if(board[i][j] != '.')
{
if(vis1[board[i][j]-'0']) return false;
vis1[board[i][j]-'0'] = true;
}
if(board[j][i] != '.')
{
if(vis2[board[j][i]-'0']) return false;
vis2[board[j][i]-'0'] = true;
}
if(board[i/3*3 + j/3][i%3*3+j%3] != '.')
{
if(vis3[board[i/3*3 + j/3][i%3*3+j%3] -'0']) return false;
vis3[board[i/3*3 + j/3][i%3*3+j%3] -'0'] = true;
}
}
}
return true;
}
};