/** * @param {number} n * @return {string[][]} */let result = [];var solveNQueens = function(n) {    result = [];    let board = [];    for (let i = 0; i < n; i++) {      board[i] = [];      for (let j = 0; j < n; j++) {        board[i][j] = '.'      }    }    backtrack(0, board, n);    return result;};function deepClone(board) {  let res = [];  for (let i = 0; i < board.length; i++) {    res.push(board[i].join(''));  }  return res;}function backtrack(row, board, n) {    if (row === n) {      result.push(deepClone(board));      return;    }    for (let j = 0; j < n; j++) {        if (checkInValid(board, row, j, n)) continue;        board[row][j] = 'Q';        backtrack(row + 1, board, n);        board[row][j] = '.';      }}function checkInValid(board, row, column, n) {  // 行  for (let i = 0; i < n; i++) {    if (board[i][column] === 'Q') return true;  }  for (let i = row - 1, j = column + 1; i >= 0 && j < n; i--, j++) {    if (board[i][j] === 'Q') return true;  }  for (let i = row - 1, j = column - 1; i >= 0 && j >= 0; i--, j--) {    if (board[i][j] === 'Q') return true;  }  return false;}