N-Queens II LeetCode solution in Java
1class Solution {2int count = 0;34public int totalNQueens(int n) {5boolean col[] = new boolean[n];6boolean diag[] = new boolean[2 * n - 1];7boolean rdiag[] = new boolean[2 * n - 1];89countSolution(n, col, diag, rdiag, 0);10return count;11}1213void countSolution(int n, boolean[] col, boolean[] diag, boolean[] rdiag, int r) {14if (r == n) {15count++;16return;17}1819for (int c = 0; c < n; c++) {20if (col[c] == false && diag[r + c] == false && rdiag[r - c + n - 1] == false) {21col[c] = true;22diag[r + c] = true;23rdiag[r - c + n - 1] = true;24countSolution(n, col, diag, rdiag, r + 1);25col[c] = false;26diag[r + c] = false;27rdiag[r - c + n - 1] = false;28}29}30}31}