class Solution {
private:
void backtrack(vector<string> &result,string cur,int left,int right,int max)
{
if(cur.length()==2*max)
{
result.push_back(cur);
return;
}
if(left<max)
{
backtrack(result,cur+"(",left+1,right,max);
}
if(right<max&&left>right)
{
backtrack(result,cur+")",left,right+1,max);
}
}
public:
vector<string> generateParenthesis(int n) {
vector<string> result;
backtrack(result,"",0,0,n);
return result;
}
};
22. Generate Parentheses
最新推荐文章于 2020-10-09 13:50:19 发布