Python3 Solution:
class Solution:
def isvalid(self, board, ch, i, j):
for k in range(9):
if board[k][j] == ch:
return False
for k in range(9):
if board[i][k] == ch:
return False
indexa = i // 3 * 3
indexb = j // 3 * 3
for ii in range(indexa, indexa+3):
for jj in range(indexb, indexb+3):
if board[ii][jj] == ch:
return False
return True
def isValidSudoku(self, board: List[List[str]]) -> bool:
"""
Do not return anything, modify board in-place instead.
"""
for i in range(9):
for j in range(9):
if board[i][j] == ".":
continue
tmp = board[i][j]
board[i][j] = '.'
if not self.isvalid(board, tmp, i, j):
return False
board[i][j] = tmp
return True