题目分析:有左括号可以随便加,右括号数要小于等于左括号
class Solution(object): def generateParenthesis(self, n): """ :type n: int :rtype: List[str] """ res = [] self.generate(n, n, "", res) return res def generate(self, left, right, str, res): if left == 0 and right == 0: res.append(str) return if left > 0: # 左括号有剩余,可以加左括号 self.generate(left - 1, right, str + '(', res) if right > left: # 剩余还没有用的右括号比左括号多 self.generate(left, right - 1, str + ')', res)