leetcode 022 Generate Parentheses
来源:互联网 发布:xp画图软件 编辑:程序博客网 时间:2024/05/21 09:51
题目
22. Generate Parentheses
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:
"((()))", "(()())", "(())()", "()(())", "()()()"
思路:
利用递归求解,递归这玩意不好解释,建议调试几次,追踪代码执行过程,用机器的方式去思考。
代码:
private List<String> list;public List<String> generateParenthesis(int n){ String s = ""; list = new ArrayList<>(); generate(n, n, s); return list;}void generate(int left, int right, String s){ if(left != 0) { generate(left - 1, right, s + "("); if(left != right) { generate(left, right - 1, s + ")"); } } else { if(right != 0) { int tmp = right; StringBuilder builder = new StringBuilder(s); while(tmp-- > 0) builder.append(')'); list.add(builder.toString()); } }}
结果细节(图):
0 0
- LeetCode 022 Generate Parentheses
- leetcode 022 Generate Parentheses
- LeetCode 022 Generate Parentheses
- [LeetCode]022-Generate Parentheses
- LeetCode 022 Generate Parentheses
- leetcode 022 Generate Parentheses
- LeetCode 022 Generate Parentheses
- LeetCode-022 Generate Parentheses
- leetcode 022 —— Generate Parentheses
- leetcode之路022 Generate Parentheses
- leetcode解题方案--022--Generate Parentheses
- LeetCode: Generate Parentheses
- LeetCode: Generate Parentheses
- [Leetcode] Generate Parentheses
- leetcode 51: Generate Parentheses
- [LeetCode] Generate Parentheses
- Leetcode: Generate Parentheses
- LeetCode Generate Parentheses
- 【JQuery UI】工具提示插件——tooltip
- 海思lowlevel_init.S简单分析
- 多模块的覆盖率统计
- Android中使用RadioButton实现QQ底部图片切换
- javascript
- leetcode 022 Generate Parentheses
- php实习的tips(结束符的问题)
- HDU FatMouse and Cheese (记忆化搜索+dp思想)
- [BZOJ3998][TJOI2015]弦论
- Hadoop学习三:hadoop的一些基本配置以及相关概念
- QT5 OpenGL(五,立体图形贴图)
- Python的几个文件操作小程序
- 2005年上海交通大学计算机研究生机试真题
- [Java]SerialZable接口的使用