class Solution {
public:
bool isValidSudoku(vector<vector<char>>& board) {
bool row[9];
bool col[9];
bool block[9];
int num;
for(int i=0;i<9;i++)
{
memset(row,0,9);
memset(col,0,9);
for(int j=0;j<9;j++)
{
if(i%3==0&&j%3==0)
{
memset(block,0,9);
for(int m=i;m<i+3;m++)
for(int n=j;n<j+3;n++)
{
if(board[m][n]=='.')
continue;
num=board[m][n]-'1';
if(!block[num])
block[num]=true;
else
return false;
}
}
if(board[i][j]!='.')
{
num=board[i][j]-'1';
if(!row[num])
row[num]=true;
else
return false;
}
if(board[j][i]!='.')
{
num=board[j][i]-'1';
if(!col[num])
col[num]=true;
else
return false;
}
}
}
return true;
}
};
leetcode 36: Valid Sudoku
最新推荐文章于 2020-01-30 17:22:51 发布