Python教程

python括号生成(leetcode)

本文主要是介绍python括号生成(leetcode),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

正整数n代表生成括号的对数,请设计一个函数,用于能够生成所有可能的并且有效的括号组合。

动态规划
代码如下:

class Solution:
    def generateParenthesis(self, n):
        def gen(rightSymbol, leftSymbol, path, res):
            if leftSymbol < rightSymbol or rightSymbol > n or leftSymbol > n:  # 左括号小于右括号,右括号大于n,左括号大于n都不合法
                return
            if leftSymbol == rightSymbol == n:
                res.append(path)
            path += "("
            gen(rightSymbol, leftSymbol + 1, path, res)
            path = path[:-1]
            path += ")"
            gen(rightSymbol + 1, leftSymbol, path, res)
            path = path[:-1]
            return res

        return gen(0, 0, "", [])
这篇关于python括号生成(leetcode)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!