LeetCode--Generate Parentheses(括号组合排列)Python
来源:互联网 发布:linux公社资源共享ftp 编辑:程序博客网 时间:2024/05/22 13:05
题目:
给定n组括号,要求给出所有正确的括号组合。如当n是3时,返回内容如下:
[
"((()))",
"(()())",
"(())()",
"()(())",
"()()()"
]
解题思路:
考虑用递归解决,将大问题化解为小问题,只考虑当前的情况,若左括号数大于右括号数,则当前可以增加左括号或者右括号。若左括号数等于右括号数,则当前只可以增加左括号。若左括号数等于n,则当前只可以增加右括号。
代码如下(python):
class Solution(object): def generateParenthesis(self, n): """ :type n: int :rtype: List[str] """ self.res = [] self.Iteration('',n,n) return self.res def Iteration(self,mstr,l,r): if l==0 and r==0: self.res.append(mstr) if l<r and l!=0: self.Iteration(mstr+'(',l-1,r) self.Iteration(mstr+')',l,r-1) if l<r and l==0: self.Iteration(mstr+')',l,r-1) if l==r and l!=0: self.Iteration(mstr+'(',l-1,r)
阅读全文
1 0
- LeetCode--Generate Parentheses(括号组合排列)Python
- Generate Parentheses 产生所有括号组合 @LeetCode
- [LeetCode]-Generate Parentheses N个括号所有的组合数
- Generate Parentheses (括号匹配)【leetcode】
- 【Leetcode】【python】Generate Parentheses
- Generate Parentheses 生成合法的括号组合
- Leetcode:Generate Parentheses 生成有效括号对
- LeetCode | Generate Parentheses(生成括号)
- LeetCode-22 Generate Parentheses(合法括号情况)
- LeetCode 22 Generate Parentheses(生成括号)
- LeetCode 22. Generate Parentheses(生成括号)
- LeetCode 22 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
- 22. Generate Parentheses(dfs,括号的可能排列数)
- hdu 小明系列故事——买年货
- Linux学习(Shell脚本)
- php面试题汇总(必会)
- 异常
- UIAutomator2.0详解(UIDevice篇----waitForWindowUpdate)
- LeetCode--Generate Parentheses(括号组合排列)Python
- open()参数宏的意义
- typename的两个意思
- 堆排序之堆的概念—插入、删除、建堆
- Verlet integration (Verlet 积分法)
- 课堂作业
- NOIP 小总结(合众之力)
- 小明的调查作业
- 用户图形界面滚动条的实现