[leetcode]Generate Parentheses 生成圆括号 python实现
来源:互联网 发布:淘宝达人直播申请入口 编辑:程序博客网 时间:2024/05/22 14:44
Generate Parentheses生成圆括号
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
For example, given n = 3, a solution set is:
[
“((()))”,
“(()())”,
“(())()”,
“()(())”,
“()()()”
]
Subscribe to see which companies asked this question
这个题乍一看估计是要递归的
大致的思路是:
这种有效的括号组合”()()(),(())()”的要求是假设这个长度是2n,那么在
因此思路就是DFS,如果左括号的个数还有剩余,则+’(‘然后递归,如果右括号有剩余且小于左括号的个数则+‘)’。
最后左右括号都不剩余的时候,也就是该排的都排完了,放入结果。
代码如下:
class Solution(object): def generateParenthesis(self, n): """ :type n: int :rtype: List[str] """ self.res = [] self.generateParenthesisIter('',n, n) return self.res def generateParenthesisIter(self, mstr, r, l): if r ==0 and l==0: self.res.append(mstr) if l>0: self.generateParenthesisIter(mstr+'(',r,l-1) if r>0 and r>l: self.generateParenthesisIter(mstr+')',r-1,l)
0 0
- [leetcode]Generate Parentheses 生成圆括号 python实现
- [Leetcode-22]Generate Parentheses 生成圆括号
- 【Leetcode】【python】Generate Parentheses
- 【LeetCode with Python】 Generate Parentheses
- 21. Generate Parentheses Leetcode Python
- 【LeetCode with Python】 Generate Parentheses .
- [leetcode: Python]22. Generate Parentheses
- [python]leetcode(22). Generate Parentheses
- leetcode解题之22. Generate Parentheses java 版(圆括号的合法序列)
- Leetcode:Generate Parentheses 生成有效括号对
- LeetCode | Generate Parentheses(生成括号)
- LeetCode 22 Generate Parentheses(生成括号)
- LeetCode 22. Generate Parentheses(生成括号)
- LeetCode 22 Generate Parentheses(生成括号)
- LeetCode--Generate Parentheses(括号组合排列)Python
- 【LeetCode-面试算法经典-Java实现】【022-Generate Parentheses(生成括号)】
- LeetCode: Generate Parentheses
- LeetCode: Generate Parentheses
- ELK 简单安装配置
- Hibernate阶段性总结(一)
- JAVA 有值类型么?
- python 遍历select的option选项
- iOS动画学习笔记1 Video Tutorial iOS Animation with Swift - Ray Wenderlich
- [leetcode]Generate Parentheses 生成圆括号 python实现
- Redis从不懂到装懂
- Win32编程-头文件与函数入口
- ContextLoaderListener作用详解
- Android热点连接管理(二)
- 借鉴
- 最大似然估计 (MLE)与 最大后验概率(MAP)在机器学习中的应用
- SQL 高级知识 3
- 技术普及帖:你刚才在淘宝上买了一件东西