数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
示例:
1
2
3
4
5
6
7
8
9 > 输入:n = 3
> 输出:[
> "((()))",
> "(()())",
> "(())()",
> "()(())",
> "()()()"
> ]
>
生成括号的过程可以用一颗二叉树来表示, 下图为 n = 1 时.
图2把不符合有效括号的节点进行了剪枝,生成一颗二叉树的过程也就是生成括号的过程.
1 | class Solution { |