题目链接:https://leetcode-cn.com/problems/generate-parentheses/
难度:中等
描述:
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
提示:n:[1, 8]
题解
class Solution:def generateParenthesis(self, n: int) -> List[str]:ret = []def dfs(temp, left, right):"""temp:当前的括号串left:还有left个左括号没用right:还有right个右括号没用"""if left == 0 and right == 0:ret.append(temp)returnif left > right: # 当前括号串的左括号数必须比右括号数大,否则会出现未匹配的右括号returnif left > 0:dfs(temp+'(', left-1, right)if right > 0:dfs(temp+')', left, right-1)dfs("", n, n)return ret
