使用回溯生成括号

时间:2015-11-18 20:43:37

标签: python algorithm recursion backtracking

Generate Parenthesis Problem from Leetcode

以下是Python解决方案:

def generate_parenthesis(self, left, right, p='', parenthesis=[]):
    if not right:
        parenthesis.append(p)
    if left:
        self.generate_parenthesis(left-1, right, p+'(')
    if right > left:
        self.generate_parenthesis(left, right-1, p+')')
    return parenthesis

'left','right'分别表示剩余的左右括号。

我的问题是参数“括号”的范围如何在整个递归中起作用。我们用例子

left = right = 2(两个括号对)

0 个答案:

没有答案