括号的生成

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

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

[
  "((()))",
  "(()())",
  "(())()",
  "()(())",
  "()()()"
]
思路:深度优先搜索,加递归实现,如果有左括号存在,那么将左括号加入path中,将左括号数目减一,如果右括号比左括号多,就加入一个右括号,右括号数目减一。

 


posted @ 2019-03-13 19:36  zzas12345  阅读(147)  评论(0编辑  收藏  举报