-
leetCode - Generate Parentheses프로그래밍/algorithm 2021. 7. 26. 11:04
문제
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
풀이
const generateParenthesis = function (n) { const result = []; function backtrack(left, right, parentheses) { if (left === n && right === n) { result.push(parentheses); return; } if (left < n) backtrack(left + 1, right, `${parentheses}(`); if ((left > right) && (right < n)) backtrack(left, right + 1, `${parentheses})`); } backtrack(0, 0, ''); return result; };
'프로그래밍 > algorithm' 카테고리의 다른 글
leetCode - Reverse Nodes in k-Group (0) 2021.08.10 leetcode - Merge k Sorted Lists (0) 2021.08.04 leetCode - Merge Two Sorted Lists (0) 2021.07.26 leeCode - Valid Parentheses (0) 2021.07.26 leetCode - Remove Nth Node From End of List (0) 2021.07.26