实现思路
主要理清放置的思路,左右括号之间的关系,先谁后谁,说明时候停止,不要只看形式,考虑构造的过程
实现代码
class Solution {
public:
void generate(string s,int l,int r,int n,vector &re){
if(l>n||r>n) return;
if(ln&&rn){
re.push_back(s);
return;
}
generate(s+’(’,l+1,r,n,re);
if(l>r)
generate(s+’)’,l,r+1,n,re);
}
vector generateParenthesis(int n) {
vector re;
generate("",0,0,n,re);
return re;
}
};