括号生成(leetcode22)
解题思路,从n=1,2,3 重点在于一步一步的推演,找到n和n+1的情况的关系
n = 1 ; ()
n = 2 ; ()() (())
n = 3 ; ()()() (())() ()(()) (()())
n+1时,每次拿着上一次n的结果列表,找到每个左括号,依次次在左括号之后插入一个"()“就生成一个新的括号列表,还有一种情况,在上述遍历完之后
在整个结果后追加一个”()",也是一种情况.
特殊情况考虑,上述思路解题后发现可能存在整个结果列表存在重复的情况,因此先用HashSet增加结果
原创
2021-04-14 22:22:51 ·
76 阅读 ·
0 评论