题目描述
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。
上图为 8 皇后问题的一种解法。
给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。
每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。
解题思路
N皇后问题是一道典型的递归求解问题,常见为8皇后、4皇后问题。递归对象为在 0 − ( n − 1 ) 0 -(n-1) 0−(n−1)行的皇后已经放置的基础上,第 n n n行皇后应该放置的位置,直到最后一行,递归结束,返回满足条件的放置位置。
Python代码
class Solution:
def solveNQueens