一、基本概念
1.N皇后问题是由国际象棋8皇后问题引申过来的,在国际象棋中有8行8列的棋盘,其中皇后的前进路线为:横、纵、以及双斜线,为了使皇后之间互不冲突,就要摆放皇后,使之前进路线不重叠。
如下所示就是一个8皇后问题的解决方案,如图可以验证,各个皇后之间互不冲突:
Q . . . . . . .
. . . . Q . . .
. . . . . . . Q
. . . . . Q . .
. . Q . . . . .
. . . . . . Q .
. Q . . . . . .
. . . Q . . . .
2.由此引申到N皇后问题,借用leetcode 51的问题解决该问题
二、问题解析:
/*51. N皇后
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。
上图为 8 皇后问题的一种解法。
给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。
每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。
示例:
输入: 4
输出: [
[".Q..", // 解法 1
"...Q",
"Q...",