- Generate Parentheses
Given n
pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
Example 1:
**Input:** n = 3
**Output:** ["((()))","(()())","(())()","()(())","()()()"]
Example 2:
**Input:** n = 1
**Output:** ["()"]
Constraints:
1 <= n <= 8
Idea
DSF
JavaScript Solution
/**
* @param {number} n
* @return {string[]}
*/
var generateParenthesis = function(n) {
let res = []
const dsf = (c,k,l,r)=>{
if(l==r && l == k){
res.push(c)
return
}
if(l<k){
dsf(c+'(',k,l+1,r)
}
if(l>r){
dsf(c+')',k,l,r+1)
}
}
return dsf('',n,0,0),res
};