22. Generate Parentheses
题目
给定 n 对括号,编写一个函数生成所有可能的正确匹配的括号组合。
例如,当 n = 3 时,可能的组合集合为:
[
"((()))",
"(()())",
"(())()",
"()(())",
"()()()"
]
题目大意
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。
解题思路
- 这道题乍一看需要判断括号是否匹配的问题,如果真的判断了,那时间复杂度就到 O(n * 2^n)了,虽然也可以 AC,但是时间复杂度巨高。
- 这道题实际上不需要判断括号是否匹配的问题。因为在 DFS 回溯的过程中,会让
(
和)
成对的匹配上的。
代码实现
package leetcode
func generatePar
标签:匹配,22,组合,复杂度,生成,括号,给定
From: https://blog.csdn.net/yonggeit/article/details/141117045