//22. 括号生成
class Solution {
public:
vector<string>ans;
void dfs(string s, int vis, const int& n) {
if (s.size() == n && vis == 0) {
ans.emplace_back(s);
return;
}
if (n - s.size() < vis) return;
if (vis == 0) dfs(s + "(", vis + 1, n);
else {
dfs(s + "(", vis + 1, n);
dfs(s + ")", vis - 1, n);
}
}
vector<string> generateParenthesis(int n) {
dfs("", 0, n * 2);
return ans;
}
};
LeetCode22. 括号生成
最新推荐文章于 2024-09-23 11:27:55 发布