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<

给定n对括号,编写一个函数生成所有可能的括号组合。问题可以通过构建二叉树并将其转换为代码来解决,利用递归的方式从底层向上逐层添加括号,最终形成所有合法的括号序列。
订阅专栏 解锁全文

368

被折叠的 条评论
为什么被折叠?



