Generate Parentheses
来源:互联网 发布:网站主域名 编辑:程序博客网 时间:2024/05/21 06:57
题目描述:
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:
[ "((()))", "(()())", "(())()", "()(())", "()()()"]解题思路:
使用递归,用两个变量left和right分别表示剩余的左括号和右括号的数目,
如果left=0 且right=0,表示左括号和右括号已经全部输出
如果left>0,那么下一个可以输出一个左括号
如果left=0 或left<right ,那么下一个可以输出一个右括号
AC代码如下:
class Solution {public:vector<string> generateParenthesis(int n) {int left = n, right = n;vector<string> ans;help(left, right, "", ans);return ans;}void help(int left, int right, string cur,vector<string>& ans){if (left == 0 && right == 0){ans.push_back(cur);return;}if (left > 0) help(left - 1, right, cur + '(', ans);if (left == 0 || right > left) help(left, right - 1, cur + ')', ans);}};
0 0
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- 数组
- 算法基础-字符移位----腾讯2017暑期实习生编程题
- 判断一个点是否在一个复杂多边形的内部
- Android 运行时权限
- C# 汉字转拼音(支持GB2312字符集中所有汉字)
- Generate Parentheses
- 2016计蒜之道复赛 B. 联想专卖店大促销(二分)
- MySQL order by case when 排序
- E/JavaBinder:FAILED BINDER TRANSACTION错误解决+RadioGroup调用check方法的时候,onCheckedChanged被调用多次的问题解决
- 基于短信网关WAP推送的实现
- Java all versions
- 当public前面加了/ 解析则从127.0.0.1/public。。。。。
- 点到点短信WAPPUSH研究总结
- 猴子摘桃文章数据一组