递归记得返回出口
class Solution {
public:void func(vector<string>&res,string tmp,int nl,int nr)
{
int left=nl,right=nr;
if(left==0&&right==0)
{ res.push_back(tmp);
return;}//返回出口
else
{if(left>0&&left<=right)
{
func(res,tmp+'(',nl-1,nr);
}
if(left>=0&&left<right)
{
func(res,tmp+')',nl,nr-1);
}}
}
vector<string> generateParenthesis(int n) {
vector<string> res;
string tmp="";
func(res,tmp,n,n);
return res;
}
};