括号生成
题目链接: https://leetcode.cn/problems/generate-parentheses
解题思路:
要生成
n
对括号,那么就需要2n
个位置,每个位置都可以放置一个左括号或者右括号,那么可以分为两种情况:放置左括号,那么接下来还可以放置左括号或者右括号
放置右括号,那么接下来只能放置右括号
通过
i
及open
记录一共写入了多少位,以及有多少个右括号当
i == 2n
时,说明已经写完了,将结果添加到结果集当
open < n
时,说明还可以继续放置左括号,那么就放置一个左括号,然后递归调用,当
i - open < open
时,说明此时可以放置右括号了,那么就放置一个右括号,然后递归调用
复杂度分析
时间复杂度: 时间复杂度为
空间复杂度: 空间复杂度为
最后更新于