当前位置: 首页 > article >正文

LeetCode 22. 括号生成

LeetCode 22. 括号生成

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
示例 1:
输入:n = 3
输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]
示例 2:
输入:n = 1
输出:[“()”]
提示:
1 <= n <= 8

回溯

class Solution:
    def generateParenthesis(self, n: int) -> List[str]:
        res_list = []
        self.backtrack(n, n, res_list, [])
        return res_list
    
    def backtrack(self, left, right, res_list, res):
        if left + right == 0:
            res_list.append("".join(res))
        else:
            if left == right:
                left -= 1
                res.append('(')
                self.backtrack(left, right, res_list, res)
                res.pop()
                left += 1
            else:
                if left > 0:
                    left -= 1
                    res.append('(')
                    self.backtrack(left, right, res_list, res)
                    res.pop()
                    left += 1
                if right > 0:
                    right -= 1
                    res.append(')')
                    self.backtrack(left, right, res_list, res)
                    res.pop()
                    right += 1

http://www.kler.cn/a/320656.html

相关文章:

  • Python 正则表达式使用指南
  • 黑马智慧商城项目学习笔记
  • 为正在运行的 Docker 容器重启策略,以提高服务的可用性
  • MySQL中Flashback(闪回)技术
  • Cuda和Pytorch的兼容性
  • 从零到一:利用 AI 开发 iOS App 《震感》的编程之旅
  • Vue3使用vue-quill富文本编辑器实现图片大小调整
  • 简单了解Redis(初识阶段)
  • 【STM32】 TCP/IP通信协议(1)
  • 【JavaWeb】二、HTML 入门
  • js-17-对数组、对象进行浅拷贝和深拷贝
  • 四款负载均衡工具Nginx、HAProxy、MetalLB、gobetween 比较
  • 【ARM 嵌入式 编译系列 2.8 -- GCC 编译优化参数 位置无关码】
  • Chat2VIS: Generating Data Visualizations via Natural Language
  • 【Android】BottomSheet基本用法总结(BottomSheetDialog,BottomSheetDialogFragment)
  • Unity中的GUIStyle错误:SerializedObject of SerializedProperty has been Disposed.
  • 隧道面稳定性分析MATLAB
  • 立志最细,在FreeRtos中数据传输方式及应用!!!
  • PostgreSQL 创建表,常规表、外部表、分区表区别讲解
  • 华为HarmonyOS灵活高效的消息推送服务(Push Kit) - 1 简介
  • 前端开发必备:实用Tool封装工具类方法大全
  • vscode【实用插件】Markdown Preview Enhanced 预览 .md 文件
  • 时尚与科技的融合,戴上更轻更悦耳的QCY C30耳夹耳机,随时享受好音乐
  • 计算机毕业设计 基于Python的荣誉证书管理系统 Django+Vue 前后端分离 附源码 讲解 文档
  • python自定义日志等级
  • 企业级-pdf预览-前后端