Sudoku Solver
Write a program to solve a Sudoku puzzle by filling the empty cells.
A sudoku solution must satisfy all of the following rules:
- Each of the digits
1-9
must occur exactly once in each row.- Each of the digits
1-9
must occur exactly once in each column.- Each of the the digits
1-9
must occur exactly once in each of the 93x3
sub-boxes of the grid.Empty cells are indicated by the character
'.'
.Note:
- The given board contain only digits
1-9
and the character'.'
.- You may assume that the given Sudoku puzzle will have a single unique solution.
- The given board size is always
9x9
.
解题思路
回溯法。每个空的格子都有若干选择。只要找到一个合法解就行,因此回溯过程中若找到合法解就直接返回。
复杂度分析
略。
代码
1 | class Solution { |