Skip to content

Commit 28ce67b

Browse files
committed
Generate Parentheses solution
1 parent 53b0e80 commit 28ce67b

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

21-generateParentheses.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* @param {number} n
3+
* @return {string[]}
4+
*/
5+
var generateParenthesis = function (n) {
6+
let result = [];
7+
8+
generateResults = (toAdd, lefts, rights) => {
9+
if (lefts === n && lefts === rights) {
10+
result.push(toAdd);
11+
} else if (lefts === n) {
12+
generateResults(toAdd + ")", lefts, rights + 1);
13+
} else if (lefts === rights) {
14+
generateResults(toAdd + "(", lefts + 1, rights);
15+
} else {
16+
generateResults(toAdd + "(", lefts + 1, rights);
17+
generateResults(toAdd + ")", lefts, rights + 1);
18+
}
19+
};
20+
21+
generateResults("", 0, 0);
22+
return result;
23+
};
24+
25+
console.log(generateParenthesis(10));

0 commit comments

Comments
 (0)