1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
class { public: void dfs(vector<string> &res, string v, int n, int left, int right) { if(n == left) { v.append(n - right, ')'); res.push_back(v); return; } dfs(res, v + '(', n, left + 1, right); if(left > right) dfs(res, v + ')', n, left, right + 1); } vector<string> generateParenthesis(int n) { vector<string> res; if(n > 0) dfs(res, "", n, 0, 0); return res; } };
|
近期评论