#78.求子集
递归法:
位运算法:
#90.求子集2
#40.组合数之和2
#22.生成括号
class Solution {
public:
vector<string> generateParenthesis(int n) {
vector<string> result;
int lc=0,rc=0;
DFS(result,"",n,lc,rc);
return result;
}
private:
void DFS(vector<string>& result,string path,int n,int lc ,int rc){
if(rc>lc || lc>n || rc>n){
return;
}
if(lc==rc && lc==n){
result.push_back(path);
}
DFS(result,path+'(',n,lc+1,rc);
DFS(result,path+')',n,lc,rc+1);
}
};
#51.N皇后问题