LeeCode - 括号生成

给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。

例如,给出 n = 3,生成结果为:

[
  "((()))",
  "(()())",
  "(())()",
  "()(())",
  "()()()"
]

  • 解法一:
    数学归纳法 从n =1 -> n=2-->n=x ,从小到大,发现规律。

  • 解法二:

    DFS + 递归 字符号长度 2*n
    暴力解法,结合栈

    O(2 **2n)

  • 解法三:
    解法二上改进 + 剪枝
    O(2 **n)

猜你喜欢

转载自www.cnblogs.com/yeni/p/11611881.html