Generate Parentheses
问题简介:
给定n对括号,编写一个函数来生成格式正确的括号的所有组合.
举例:
给定n = 2,解集是:
[
“()()”,
“(())”
]
给定n = 3,解集是:
[
“((()))”,
“(()())”,
“(())()”,
“()(())”,
“()()()”
]
解法一:
通过递归将所有符合的情况添加到集合中,限制条件:
1.左括号的数量最大为n
2.当前字符串中的右括号数量不能大于左括号
解法二:
因为n个括号共2n个字符,也就是索引0到2n-1内都为有效的括号即可,通过递归,将n=3的情况变为n=2加上一个括号,通过层层递归实现
小白刷题之路,请多指教— — 要么大器晚成,要么石沉大海