leetcode-22. 括号生成

题目描述

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

示例 1:

输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]

示例 2:

输入:n = 1
输出:["()"]

思路

1)回溯

2)结束条件:构建的字符串长度==2*n

3)注意两点回溯的判断:if left<n;if right<left

class Solution(object):
    def __init__(self):
        self.res = []

    def backtrack(self,s,n,left,right):
        if len(s) == 2*n:
            self.res.append("".join(s))
            return
        if left<n:
            s.append('(')
            self.backtrack(s,n,left+1,right)
            s.pop()
        if right<left:
            s.append(')')
            self.backtrack(s,n,left,right+1)
            s.pop()

    def generateParenthesis(self, n):
        """
        :type n: int
        :rtype: List[str]
        """
        s = []
        left = right = 0
        self.backtrack(s,n,left,right)
        return self.res

if __name__ == '__main__':
    s=Solution()
    n = 3
    print(s.generateParenthesis(n))

相关推荐

  1. LeetCode 22 括号生成

    2024-07-16 06:04:04       69 阅读
  2. [leetcode] 22. 括号生成

    2024-07-16 06:04:04       66 阅读
  3. LeetCode-22.括号生成

    2024-07-16 06:04:04       44 阅读
  4. LeetCode 22. 括号生成

    2024-07-16 06:04:04       53 阅读
  5. leetcode-22. 括号生成

    2024-07-16 06:04:04       28 阅读
  6. leetcode热题HOT 22. 括号生成(回溯)

    2024-07-16 06:04:04       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 06:04:04       102 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 06:04:04       110 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 06:04:04       88 阅读
  4. Python语言-面向对象

    2024-07-16 06:04:04       96 阅读

热门阅读

  1. docker使用教学

    2024-07-16 06:04:04       28 阅读
  2. docker build 建立镜像,多出很多 none 的中间层镜像

    2024-07-16 06:04:04       34 阅读
  3. React Native: 构建原生级移动应用的跨平台框架

    2024-07-16 06:04:04       34 阅读
  4. 克隆上游仓库后想切换远程仓库为派生仓库

    2024-07-16 06:04:04       29 阅读
  5. Redis的哨兵和集群实现高可用

    2024-07-16 06:04:04       27 阅读
  6. Go:函数

    2024-07-16 06:04:04       26 阅读
  7. 在Delphi中使用ATTACH语句合并SQLite数据库

    2024-07-16 06:04:04       27 阅读
  8. Log4j2原理及应用详解(二)

    2024-07-16 06:04:04       24 阅读
  9. 在Ubuntu 18.04上安装和保护phpMyAdmin的方法

    2024-07-16 06:04:04       24 阅读
  10. 66.函数指针和回调函数

    2024-07-16 06:04:04       24 阅读
  11. MySQL第七次作业

    2024-07-16 06:04:04       28 阅读