Leetcode 22. Generate Parentheses
来源:互联网 发布:林志炫浮夸知乎 编辑:程序博客网 时间:2024/06/05 02:19
题目:
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:
[ "((()))", "(()())", "(())()", "()(())", "()()()"]
思路:
用一个标志变量stackNum模拟一个栈中'('的数量,递归生成所需要的序列,若栈空则入左括号,若栈不空则有两种可能分别递归执行,直到左右括号皆用完。
class Solution(object):
def generateParenthesis(self, n):
"""
:type n: int
:rtype: List[str]
"""
if n<=0:return []
res = []
self.generator(n,n,0,'',res)
return res
def generator(self,n_l,n_r,stackNum,curStr,res):
if n_l<=0 and n_r<=0:
res.append(curStr)
return
if stackNum==0:
self.generator(n_l-1,n_r,stackNum+1,curStr+'(',res)
else:
if n_l>0:
self.generator(n_l-1,n_r,stackNum+1,curStr+'(',res)
if n_r>0:
self.generator(n_l,n_r-1,stackNum-1,curStr+')',res)
- [LeetCode]22.Generate Parentheses
- LeetCode --- 22. Generate Parentheses
- LeetCode 22.Generate Parentheses
- [Leetcode] 22. Generate Parentheses
- 【LeetCode】22.Generate Parentheses
- [leetcode] 22.Generate Parentheses
- 【leetcode】22. Generate Parentheses
- Leetcode-22.Generate Parentheses
- [leetcode] 22. Generate Parentheses
- 22. Generate Parentheses LeetCode
- leetcode 22. Generate Parentheses
- [LeetCode]22. Generate Parentheses
- leetcode 22. Generate Parentheses
- leetcode 22. Generate Parentheses
- LeetCode 22. Generate Parentheses
- [LeetCode]22. Generate Parentheses
- LeetCode *** 22. Generate Parentheses
- LeetCode 22. Generate Parentheses
- Servlet跳转到其他组件②
- 关于防止一个账号在不同机器上重复登录
- 深度学习框架Keras安装指南
- git简单推送到远程仓库流程
- 微信小程序
- Leetcode 22. Generate Parentheses
- IOS开发之HomeKit(四)
- CSU 1895 Apache is late again(根号2加1的n次方)
- 原生JS添加鼠标事件
- 数字的大写字母的乱序整理
- Android Native嵌入React Native模块
- uva401Palindromes(回文串和镜像串的判断)
- 图片处理,圆形圆角描边
- AngularJS之使用服务封装