思路
暴力解法:1.判断每行是否有重复的数字;2.判断每列是否有重复的数字;3.判断每一个以粗实线分隔的 3x3 宫内是否有重复的数字
解题过程
如果以上三种情况都不存在重复的数字,则返回true
Code
class Solution {
public boolean isValidSudoku(char[][] board) {
for(int i=0;i<9;i++){
List<Integer> list =new ArrayList<>();
for(int j=0;j<9;j++){
if(board[i][j]!='.'){
int num=board[i][j]-'0';
if(list.contains(num)) return false;
list.add(num);
}
}
}
for(int i=0;i<9;i++){
List<Integer> list =new ArrayList<>();
for(int j=0;j<9;j++){
if(board[j][i]!='.'){
int num=board[j][i]-'0';
if(list.contains(num)) return false;
list.add(num);
}
}
}
for( int m=0;m<3;m++){
for(int n=0;n<3;n++){
List<Integer> list =new ArrayList<>();
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if(board[3*m+i][3*n+j]!='.'){
int num=board[3*m+i][3*n+j]-'0';
if(list.contains(num)) return false;
list.add(num);
}
}
}
}
}
return true;
}
}
作者:菜卷
链接:https://leetcode.cn/problems/valid-sudoku/solutions/2897308/you-xiao-de-shu-du-by-ashi-jian-chong-da-o6ll/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。