链接:https://oj.leetcode.com/problems/generate-parentheses/
好几天没做题了,一直在看java ee。。
看来我在回溯,递归方面还是相当的弱啊。。。最后还是参考的别人的思路
class Solution
{
public:
vector<string> generateParenthesis(int n)
{
vector<string>ans;
backtrack(ans,"",0,0,n);
return ans;
}
void backtrack(vector<string> &ans,string str,int L,int R,int n)
{
if(str.length()==n*2)
{
ans.push_back(str);
return;
}
if(L<n)
{
string tem=str;
tem+="(";
backtrack(ans,tem,L+1,R,n);
}
if(R<L)
{
string tem=str;
tem+=")";
backtrack(ans,tem,L,R+1,n);
}
}
};