【LeetCode热题100(57/100)】括号生成

题目地址: 链接

思路: 依然是简单的递归回溯

js 复制代码
/**
 * @param {number} n
 * @return {string[]}
 */
var generateParenthesis = function(n) {
    let ans = [];
    const dfs = (lnum, rnum, str) => {
        if(lnum + rnum === 2 * n) {
            ans.push(str);
            return;
        }
        if(lnum < n) dfs(lnum + 1, rnum, str + '(');
        if(rnum < lnum) dfs(lnum, rnum + 1, str + ')')
        
    }
    dfs(0, 0, '');
    return ans;
};
相关推荐
佑白雪乐15 分钟前
LCR 175. 计算二叉树的深度
算法·深度优先
阿Y加油吧22 分钟前
力扣打卡day07——最大子数组和、合并区间
算法
想吃火锅100526 分钟前
【leetcode】105. 从前序与中序遍历序列构造二叉树
算法·leetcode·职场和发展
圣保罗的大教堂28 分钟前
leetcode 3567. 子矩阵的最小绝对差 中等
leetcode
2401_8318249632 分钟前
嵌入式C++驱动开发
开发语言·c++·算法
靠沿35 分钟前
【优选算法】专题十八——BFS解决拓扑排序问题
算法·宽度优先
cui_ruicheng38 分钟前
C++数据结构进阶:哈希表实现
数据结构·c++·算法·哈希算法·散列表
前端摸鱼匠38 分钟前
面试题4:多头注意力(MHA)相比单头注意力的优势是什么?Head数如何影响模型?
人工智能·ai·面试·职场和发展·求职招聘
li星野1 小时前
[特殊字符] 模拟试卷一:C++核心与系统基础(90分钟)答案版
开发语言·c++·算法
二进制星轨1 小时前
leecode-283-移动零-算法题解
算法