class Solution {
public:
string path;
vector<string> result;
vector<string> generateParenthesis(int n) {
traverse(n,n);
return result;
}
void traverse(int left, int right){
if(left==0&&right==0){
result.push_back(path);
return;
}
if(left>0){
path.push_back('(');
traverse(left-1,right);
path.pop_back();
}
if(right>0&&right>left){//right>left是保证左括号加在右括号的前面(保证括号是合法的)
path.push_back(')');
traverse(left,right-1);
path.pop_back();
}
}
};
刷题记录第八十七天-括号生成
最新推荐文章于 2024-06-21 17:14:10 发布