0
点赞
收藏
分享

微信扫一扫

每日一题-括号生成

晚熟的猫 2022-02-03 阅读 214

学习目标:

每日一题-括号生成

学习内容:

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
在这里插入图片描述
解法:

class Solution:
    def generateParenthesis(self, n: int) -> List[str]:
        ans = []
        self.generate([],n,ans)
        return ans
    def generate(self,A,n,ans):
        if len(A) == 2*n:
            if self.valid(A):
               ans.append("".join(A))
        else:
            A.append('(')
            self.generate(A,n,ans)
            A.pop()
            A.append(')')
            self.generate(A,n,ans)
            A.pop()
        return

    def valid(self,A):
        bal = 0
        for c in A:
            if c == '(':
               bal+=1
            else:
               bal-=1
            if bal < 0: 
               return False
        return bal == 0

在这里插入图片描述

举报

相关推荐

2024.6.1每日一题

JAVA 每日一题

每日一题14

每日一题(1.5)

leetcode 每日一题

《每日一题》闪烁

0 条评论