力扣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));
相关推荐
遂心_13 小时前
JavaScript 函数参数传递机制:一道经典面试题解析
前端·javascript
遂心_14 小时前
深入理解 React Hook:useEffect 完全指南
前端·javascript·react.js
前端Hardy14 小时前
HTML&CSS: 谁懂啊!用代码 “擦去”图片雾气
前端·javascript·css
前端Hardy14 小时前
HTML&CSS:好精致的导航栏
前端·javascript·css
一个不爱写代码的瘦子15 小时前
迭代器和生成器
前端·javascript
源猿人18 小时前
企业级文件浏览系统的Vue实现:架构设计与最佳实践
前端·javascript·数据可视化
RoyLin19 小时前
TypeScript设计模式:迭代器模式
javascript·后端·node.js
小桥风满袖20 小时前
极简三分钟ES6 - ES9中for await of
前端·javascript
编程贝多芬21 小时前
Promise 的场景和最佳实践
前端·javascript
Asort21 小时前
JavaScript 从零开始(四):基础语法详解——从变量声明到数据类型的完全指南
前端·javascript