Skip to content

generateParenthesis

生成所有由n对括号组成的有效括号组合。

输入配置

执行过程

步骤 1 / 28
生成3对括号的所有有效组合
当前路径
左括号: 0 / 3右括号: 0 / 3

算法说明

括号生成:使用回溯算法,控制左括号数量不超过n,右括号数量不超过左括号数量。时间复杂度O(4^n / √n)。

函数签名

typescript
function generateParenthesis(n: number): string[]

参数

参数名类型必填说明
nnumber括号对数

返回值

类型说明
string[]所有有效的括号组合

工作原理

  1. 回溯生成: 从空字符串开始,逐个添加括号
  2. 添加左括号条件: 左括号数量 < n
  3. 添加右括号条件: 右括号数量 < 左括号数量
  4. 终止条件: 字符串长度达到2n时,得到一个有效组合
  5. 返回结果: 返回所有有效组合

关键规则:

  • 随时可以添加左括号(如果还没用完)
  • 只有在右括号数量少于左括号时才能添加右括号

时间复杂度: O(4^n / √n) (卡特兰数)
空间复杂度: O(n)