力扣22 括号生成

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的括号组合。

示例 1:

复制代码
输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]

示例 2:

复制代码
输入:n = 1
输出:["()"]
javascript 复制代码
/**
 * @param {number} n
 * @return {string[]}
 */
var generateParenthesis = function(n) {
   let res = [],path='',close=0,open=0
   dps(res,path,close,open,n)
   return res
};
let dps = function(res,path,close,open,n){
   if (open>n||close>open) {
      return
   }
   if (path.length==2*n) {
      res.push(path)
   }
   dps(res,path+"(",close,open+1,n)
   dps(res,path+")",close+1,open,n)
}
console.log(generateParenthesis(3));
相关推荐
feng_you_ying_li3 小时前
C++11,lambda,包装器
开发语言·数据结构·c++
山甫aa3 小时前
哈希表的变化(链表数组强化)----从零开始的数据结构
数据结构·哈希算法·散列表
程序员小寒3 小时前
JavaScript设计模式(十):模板方法模式实现与应用
前端·javascript·设计模式·模板方法模式
Mem0rin3 小时前
[Java/数据结构]树的基本概念、二叉树的创建和遍历
java·开发语言·数据结构
我不是懒洋洋3 小时前
【经典题目】链表OJ(轮转数组、返回倒数第k个节点、链表的回文结构)
c语言·开发语言·数据结构·算法·链表·visual studio
We་ct3 小时前
EventSource & WebSocket & HTTP
前端·javascript·网络·websocket·网络协议·http·面试
励志的小陈3 小时前
数据结构--堆(C语言实现)
android·c语言·数据结构
小李子呢021112 小时前
前端八股性能优化(2)---回流(重排)和重绘
前端·javascript
吴声子夜歌14 小时前
Vue3——Vue实例与数据绑定
前端·javascript·vue.js
挖稀泥的工人17 小时前
AI聊天界面的布局细节和打字跟随方法
前端·javascript·面试