题目链接这里
public class Solution {
public boolean isValidSudoku(char[][] board) {
boolean flags[]=new boolean[10];
Arrays.fill(flags, false);
//行
for(int i=0;i<board.length;i++)
{
Arrays.fill(flags, false);
for(int j=0;j<board[i].length;j++)
{
if(board[i][j]=='.')
{
continue;
}
else if(flags[board[i][j]-'0'])
{
return false;
}
else
{
flags[board[i][j]-'0']=true;
}
}
}
//列
for(int j=0;j<board.length;j++)
{
Arrays.fill(flags, false);
for(int i=0;i<9;i++)
{
if(board[i][j]=='.')
{
continue;
}
else if(flags[board[i][j]-'0'])
{
return false;
}
else
{
flags[board[i][j]-'0']=true;
}
}
}
//块
for(int i=0;i<9;i+=3)
{
for(int j=0;j<9;j+=3)
{
Arrays.fill(flags, false);
for(int ii=0;ii<3;ii++)
{
for(int jj=0;jj<3;jj++)
{
if(board[i+ii][j+jj]=='.')
{
continue;
}
else if(flags[board[i+ii][j+jj]-'0'])
{
return false;
}
else
{
flags[board[i+ii][j+jj]-'0']=true;
}
}
}
}
}
return true;
}
}