generateParenthesis
生成所有由n对括号组成的有效括号组合。
输入配置
执行过程
生成3对括号的所有有效组合
当前路径
空
左括号: 0 / 3右括号: 0 / 3
算法说明
括号生成:使用回溯算法,控制左括号数量不超过n,右括号数量不超过左括号数量。时间复杂度O(4^n / √n)。
函数签名
typescript
function generateParenthesis(n: number): string[]参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
n | number | 是 | 括号对数 |
返回值
| 类型 | 说明 |
|---|---|
string[] | 所有有效的括号组合 |
工作原理
- 回溯生成: 从空字符串开始,逐个添加括号
- 添加左括号条件: 左括号数量 < n
- 添加右括号条件: 右括号数量 < 左括号数量
- 终止条件: 字符串长度达到2n时,得到一个有效组合
- 返回结果: 返回所有有效组合
关键规则:
- 随时可以添加左括号(如果还没用完)
- 只有在右括号数量少于左括号时才能添加右括号
时间复杂度: O(4^n / √n) (卡特兰数)
空间复杂度: O(n)