括号生成
Category | Difficulty | Likes | Dislikes |
---|---|---|---|
algorithms | Medium (73.37%) | 770 | - |
Tags
Companies
google
| uber
| zenefits
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。
例如,给出 n=3,生成结果为:
|
|
解法
- 思路:
不考虑有效的括号序列,对应所有由 n 个'(', ')'组成的不重复序列,可由如下递归表示:
- f(l, r): 由 l 个'(', r 个')'组成的序列;
- f(l, r) = [ f(l-1, r) + '(' , f(l, r-1) + ')' ]
所有上述序列中,有效的'()'序列是:
|
|
|
|
|
|