首页 > 其他 > 详细

22-Generate Parenthesis

时间:2019-08-19 21:48:30      阅读:127      评论:0      收藏:0      [点我收藏+]

题目:输入括号对数n,返回合法的括号形式

def generateParenthesis(n):
    res = []
    gen(0,0,n,res,‘‘)
    return res

def gen(left,right,n,res,path):
    if left == n and right == n:
        res.append(path)
        return
    if left < n:
        gen(left+1,right,n,res,path+‘(‘)
    if left>right and right<n:
        gen(left,right+1,n,res,path+‘)‘)

注:

使用递归来做,用left,right分别表示左右括号的使用数量。当两者使用数量为n时,表示已经找出一种情况。如果left小于n,则可以继续加入‘(‘;右括号的情况不仅要小于n,还需要保证right<left,才能保证最终括号的合法性。

22-Generate Parenthesis

原文:https://www.cnblogs.com/kingshine007/p/11379683.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!