Given an integer n , return all possible configurations of the board where n queens can be placed without attacking each other.

The space complexity of the solution is O(N^2), where N is the number of queens. This is because we need to store the board configuration and the result list.

The isValid method checks if a queen can be placed at a given position on the board by checking the column and diagonals.

public class Solution { public List<List<String>> solveNQueens(int n) { List<List<String>> result = new ArrayList<>(); char[][] board = new char[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { board[i][j] = '.'; } } backtrack(result, board, 0); return result; }

The solution uses a backtracking approach to place queens on the board. The solveNQueens method initializes the board and calls the backtrack method to start the backtracking process.

The N-Queens problem is a classic backtracking problem in computer science, where the goal is to place N queens on an NxN chessboard such that no two queens attack each other.