【22】Generate Parentheses

来源:互联网 发布:jsp 获取手机mac地址 编辑:程序博客网 时间:2024/04/29 20:59

Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.

For example, given n = 3, a solution set is:

[  "((()))",  "(()())",  "(())()",  "()(())",  "()()()"]

简单DFS

void dfs(int cur,int n,vector<string> &res,string one,int left,int right){    if(cur == 2*n){        res.push_back(one);        return;    }    if(left<n){        dfs(cur+1,n,res,one+"(",left+1,right);    }    if(right<n && left>right){        dfs(cur+1,n,res,one+")",left,right+1);    }}vector<string> generateParenthesis(int n) {    vector<string> res;    dfs(0,n,res,"",0,0);    return res;}

0 0
原创粉丝点击