[LeetCode]--22. Generate Parentheses
来源:互联网 发布:软件管家官方版 编辑:程序博客网 时间:2024/06/08 18:02
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:
[ "((()))", "(()())", "(())()", "()(())", "()()()"]
用二叉树形象的表示这种关系。然后再把二叉树转化为代码的形式。因为二叉树的定义就是递归定义的,因此本题很明显应该使用递归的形式。
就如同遍历查找一棵二叉树一样,只不过这个是一个个往上加。
public List<String> generateParenthesis(int n) { List<String> res = new ArrayList<String>(); if (n == 0) return res; dfs(res, "", n, n); return res; } private void dfs(List<String> res, String tem, int left, int right) { if (0 == left && 0 == right) { res.add(tem); return; } else if (left > 0) dfs(res, tem + '(', left - 1, right); if (left < right) dfs(res, tem + ')', left, right - 1); }
这种递归到最后自然就都加上去了。
0 0
- [LeetCode]22.Generate Parentheses
- LeetCode --- 22. Generate Parentheses
- LeetCode 22.Generate Parentheses
- [Leetcode] 22. Generate Parentheses
- 【LeetCode】22.Generate Parentheses
- [leetcode] 22.Generate Parentheses
- 【leetcode】22. Generate Parentheses
- Leetcode-22.Generate Parentheses
- [leetcode] 22. Generate Parentheses
- 22. Generate Parentheses LeetCode
- leetcode 22. Generate Parentheses
- [LeetCode]22. Generate Parentheses
- leetcode 22. Generate Parentheses
- leetcode 22. Generate Parentheses
- LeetCode 22. Generate Parentheses
- [LeetCode]22. Generate Parentheses
- LeetCode *** 22. Generate Parentheses
- LeetCode 22. Generate Parentheses
- Linux系统下的简单命令【二】
- HiHo #1070 && 1077 : RMQ问题再临 【RMQ-线段树】
- Leetcode 338. Counting Bits
- 在代码中实现文字颜色渐变
- 1、Hello Vue.js
- [LeetCode]--22. Generate Parentheses
- JS操作JSON总结
- 【转】PEP8备忘
- 关于Ubuntu sudo apt-get update失败的解决
- linux TCP套接字编程
- 静态成员函数和变量
- 树莓派SimpleCV识别二维码和条形码
- 加载新布局
- 那些年遇到的Android Studio bugs