LeetCode 22. 括号生成(Generate Parentheses)
发布日期:2021-06-29 17:11:03
浏览次数:2
分类:技术文章
本文共 911 字,大约阅读时间需要 3 分钟。
LeetCode.jpg
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。
例如,给出 n = 3,生成结果为:
[
"((()))", "(()())", "(())()", "()(())", "()()()" ]Python3实现
递归
# @author:leacoder # @des: 递归 括号生成 class Solution: def generateParenthesis(self, n: int) -> List[str]: self.list = [] self.fnrecursive(0,0,n,"") return self.list #left:"("左括号被使用次数 right:")"右括号被使用次数 n:可以被使用括号对数 result:有效括号结果 def fnrecursive(self,left,right,n,result): if left == n and right == n: # 左右括号使用次数均到达n次 self.list.append(result) return # 1、要使括号有效 ,那么我们最先放的是 左括号 ,需要满足left < n if left < n: self.fnrecursive(left+1,right,n,result + "(") # 2、要使括号有效 ,右括号使用次数必然不大于左括号,并且 right < n if left > right and right < n: self.fnrecursive(left,right+1,n,result + ")")
GitHub链接:
知乎个人首页:个人Blog:欢迎大家来一起交流学习[图片上传中...(LeetCode.jpg-3f55e1-1554216352080-0)]
转载地址:https://blog.csdn.net/leacock1991/article/details/101467145 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月25日 07时06分46秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
我的Java后端书架 (2016年暖冬4.0版)
2019-04-30
每个程序员都必读的10篇文章
2019-04-30
也谈IO模型
2019-04-30
谈谈互联网后端基础设施
2019-04-30
Mybatis的ResultMap的使用
2019-04-30
Java 异常处理的误区和经验总结
2019-04-30
Chrome控制台使用详解
2019-04-30
Chrome 控制台console的用法(学了之后对于调试js可是大大有用的哦)
2019-04-30
15 个必须知道的 Chrome 开发工具技巧
2019-04-30
推荐的四款产品原型设计工具
2019-04-30
Spring基础知识汇总 Java开发必看
2019-04-30
设计模式(一)工厂模式Factory(创建型)
2019-04-30
Spring - Java/J2EE Application Framework 应用框架 第 3 章 Beans, BeanFactory和ApplicationContext
2019-04-30
给Java程序猿们推荐一些值得一看的好书
2019-04-30
JavaScript之数据类型
2019-04-30
MemCache超详细解读
2019-04-30