提交代码(递归):
class Solution {
List<String> generateParenthesis(int n) {
List<String> list=new ArrayList<>();
append(n,n,"",list);
return list;
}
void append(int left,int right,String cur,List<String> list) {
if(left<0||right<0||left>right) return;
if(left==0&&right==0) {
list.add(cur);
return;
}
append(left-1,right,cur+"(",list);
append(left,right-1,cur+")",list);
}
}
本文介绍了一种使用递归算法解决括号生成问题的方法。通过递归地添加左括号和右括号,确保任何时候左括号的数量不小于右括号的数量,最终生成所有合法的括号组合。
808

被折叠的 条评论
为什么被折叠?



