Skip to content

Commit c3767e3

Browse files
authored
Merge pull request vJechsmayr#150 from ongzx/parenthesesGenerator
Add parentheses generator
2 parents 2475de5 + 567b2ed commit c3767e3

2 files changed

Lines changed: 23 additions & 1 deletion

File tree

‎Backtracking/Algorithms_ToDo.md‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,5 @@
22

33
+ Valid Sudoku [LeetCode #36](https://leetcode.com/problems/valid-sudoku/)
44
+ Letter Combination of a Phone Number [LeetCode #17](https://leetcode.com/problems/letter-combinations-of-a-phone-number/)
5-
+ Generate Parentheses [LeetCode #22](https://leetcode.com/problems/generate-parentheses/)
65
+ Wildcard Matching [LeetCode #44](https://leetcode.com/problems/wildcard-matching/)
76
+ N-Queens [LeetCode #51](https://leetcode.com/problems/n-queens/)
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/**
2+
* @param {number} n
3+
* @return {string[]}
4+
*/
5+
const generateParenthesis = function(n) {
6+
if (n === 0) {
7+
return [""];
8+
}
9+
let result = [];
10+
for (let i = 0; i < n; ++i) {
11+
let lefts = generateParenthesis(i);
12+
let rights = generateParenthesis(n - i - 1);
13+
14+
for (let l = 0; l < lefts.length; ++l) {
15+
for (let r = 0; r < rights.length; ++r) {
16+
result.push("(" + lefts[l] + ")" + rights[r]);
17+
}
18+
}
19+
}
20+
return result;
21+
};
22+
23+
console.log(generateParenthesis(3));

0 commit comments

Comments
 (0)