0%

### 题目描述

Determine if a `9 x 9` Sudoku board is valid. Only the filled cells need to be validated according to the following rules:

1. Each row must contain the digits `1-9` without repetition.
2. Each column must contain the digits `1-9` without repetition.
3. Each of the nine `3 x 3` sub-boxes of the grid must contain the digits `1-9` without repetition.

### 例子

#### 例子 1

Input:board =
`[["5","3",".",".","7",".",".",".","."]`
`,["6",".",".","1","9","5",".",".","."]`
`,[".","9","8",".",".",".",".","6","."]`
`,["8",".",".",".","6",".",".",".","3"]`
`,["4",".",".","8",".","3",".",".","1"]`
`,["7",".",".",".","2",".",".",".","6"]`
`,[".","6",".",".",".",".","2","8","."]`
`,[".",".",".","4","1","9",".",".","5"]`
`,[".",".",".",".","8",".",".","7","9"]]`
Output: `true`

#### 例子 2

Input: `board =`
`[["8","3",".",".","7",".",".",".","."]`
`,["6",".",".","1","9","5",".",".","."]`
`,[".","9","8",".",".",".",".","6","."]`
`,["8",".",".",".","6",".",".",".","3"]`
`,["4",".",".","8",".","3",".",".","1"]`
`,["7",".",".",".","2",".",".",".","6"]`
`,[".","6",".",".",".",".","2","8","."]`
`,[".",".",".","4","1","9",".",".","5"]`
`,[".",".",".",".","8",".",".","7","9"]]`
Output: `false`
Explanation: Same as Example 1, except with the 5 in the top left corner being modified to 8. Since there are two 8‘s in the top left 3x3 sub-box, it is invalid.

### Note

A Sudoku board (partially filled) could be valid but is not necessarily solvable.
Only the filled cells need to be validated according to the mentioned rules.

### Constraints

• `board.length == 9`
• `board[i].length == 9`
• `board[i][j] is a digit or '.'`

### 解题思路

• 时间复杂度: `O(1)` —> 数独尺寸为常数
• 空间复杂度: `O(1)`

GitHub 代码同步地址： 36.ValidSudoku.cpp

GitHub: Leetcode-C++-Solution