import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * 52. N皇后II */ public class NQueens2 { public int totalNQueens(int n) { int res=0; char[][] memo = new char[n][n]; for(char[] t: memo){ Arrays.fill(t, '.'); } res = dp(0,0, 0, memo); return res; } int dp(int row, int col, int n, char[][] memo){ if(row>memo.length){ return 0; }else if(n==memo.length){ return 1; } int res = 0; for(int i=0; i=0 && j>=0; i--,j--){ if(memo[i][j]=='Q'){ return false; } } for(int i=row+1,j=col+1; i=0 && j0; i++,j--){ if(memo[i][j]=='Q'){ return false; } } return true; } }