classSolution{public:boolisValidSudoku(vector<vector<char>>& board){int st[9];for(int i =0; i <9; i ++){memset(st,0,sizeof st);for(int j =0; j <9; j ++){if(board[i][j]=='.')continue;int num = board[i][j]-'1';if(st[num])returnfalse;else st[num]=true;}}for(int i =0; i <9; i ++){memset(st,0,sizeof st);for(int j =0; j <9; j ++){if(board[j][i]=='.')continue;int num = board[j][i]-'1';if(st[num])returnfalse;else st[num]=true;}}for(int i =0; i <9; i +=3){for(int j =0; j <9; j +=3){memset(st,0,sizeof st);for(int x =0; x <3; x ++)for(int y =0; y <3; y ++){if(board[x + i][y + j]=='.')continue;int num = board[x + i][y + j]-'1';if(st[num])returnfalse;else st[num]=true;}}}returntrue;}};
原题链接Note:就是判断一下给的数独是不是合法的,模拟一下检查的过程,每个判断条件都走一下,用st数组记录一下有没有重复即可代码如下:class Solution {public: bool isValidSudoku(vector<vector<char>>& board) { int st[9]; for(int i = 0; i < 9; i ++){ memset(st, 0, siz