力扣刷题Day 64:括号生成(22)
1.题目描述
2.思路
回溯,过程当中记录左括号和右括号的数量,以此作为剪枝的依据。
3.代码(Python3)
class Solution:def generateParenthesis(self, n: int) -> List[str]:def backtrack(left_n, right_n, parenthesis):if left_n < right_n:returnif left_n == n:res.append(parenthesis + ")" * (n - right_n))returnbacktrack(left_n + 1, right_n, parenthesis + "(")backtrack(left_n, right_n + 1, parenthesis + ")")res = []backtrack(0, 0, "")return res
4.执行情况
5.感想
妈妈我终于自己写出回溯算法了!(bushi)