public void dfs(int row){
        if(row >= len){
            populateResult();
            return;
        }

        for(int i = 0; i < chessBoard[0].length; i++){
            if(!hasAttack(row, i)){
                chessBoard[row][i] = 'Q';
                dfs(row + 1);
                chessBoard[row][i] = '.';
            }
        }
    }