Skip to content

Commit 17b37e5

Browse files
committed
add the solution for leetcode 022
1 parent a460d60 commit 17b37e5

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ LeetCode
390390
|25|[Reverse Nodes in k-Group](https://leetcode.com/problems/reverse-nodes-in-k-group/)| |Hard|
391391
|24|[Swap Nodes in Pairs](https://leetcode.com/problems/swap-nodes-in-pairs/)| |Medium|
392392
|23|[Merge k Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/)| |Hard|
393-
|22|[Generate Parentheses](https://leetcode.com/problems/generate-parentheses/)| |Medium|
393+
|22|[Generate Parentheses](https://leetcode.com/problems/generate-parentheses/)| [js](./algorithms/generateParentheses/generateParentheses.js) |Medium|
394394
|21|[Merge Two Sorted Lists](https://leetcode.com/problems/merge-two-sorted-lists/)| |Easy|
395395
|20|[Valid Parentheses](https://leetcode.com/problems/valid-parentheses/)| |Easy|
396396
|19|[Remove Nth Node From End of List](https://leetcode.com/problems/remove-nth-node-from-end-of-list/)| |Easy|
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* @param {number} n
3+
* @return {string[]}
4+
*/
5+
var generateParenthesis = function(n) {
6+
const arr = [];
7+
function generate(left, right, str) {
8+
// 递归终结条件:n 都用完了
9+
if (left === n && right ===n) {
10+
arr.push(str);
11+
return;
12+
}
13+
14+
// 如果左括号没用完(第一肯定先使用左括号),就继续递归
15+
if(left < n) {
16+
generate(left + 1, right, str + '(');
17+
}
18+
19+
// 如果右括号没用完(右括号肯定比左括号少,且有括号没用完),就继续递归
20+
if(right < left) {
21+
generate(left, right + 1, str + ')')
22+
}
23+
}
24+
25+
generate(0, 0, '');
26+
return arr;
27+
};

0 commit comments

Comments
 (0)