class Solution {
public List<String> result = new ArrayList<>();
public List<String> generateParenthesis(int n) {
backTrace(n,0,0,new StringBuffer());
return result;
}
public void backTrace(int n,int leftCount,int rightCount,StringBuffer strbuffer){
if(leftCount == n && rightCount == n){
result.add(strbuffer.toString());
return;
}
if(leftCount < n){
strbuffer.append('(');
backTrace(n,leftCount+1,rightCount,strbuffer);
strbuffer.deleteCharAt(strbuffer.length() - 1);
}
if(leftCount > rightCount){
strbuffer.append(')');
backTrace(n,leftCount,rightCount+1,strbuffer);
strbuffer.deleteCharAt(strbuffer.length() - 1);
}
}
}
leetcode22. 括号生成
最新推荐文章于 2024-06-30 14:12:39 发布