算法---括号生成

给定一个括号数量n,生成所有可能的括号组合字符串

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
__title__ = ''
__author__ = 'thinkreed'
__mtime__ = '2017/3/24'

"""


class Solution(object):
    def generateParenthesis(self, n):
        """
        :type n: int
        :rtype: List[str]
        idea from https://discuss.leetcode.com/topic/17510/4-7-lines-python/2
        """

        def generate(p, left, right, parens=[]):
            if left:         generate(p + '(', left - 1, right)
            if right > left: generate(p + ')', left, right - 1)
            if not right:    parens += p,
            return parens

        return generate('', n, n)

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 2,564评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 128,965评论 18 137
  • “你最近还好吗”是我现在最想对自己说的一句话。你们呢?也一样吗?我们,碌碌无为,又或者无所事事,再者生活充实得连呼...
    m_eing阅读 160评论 0 0
  • 《爱的五种语言》第11天: 精心时刻/服务行动 我做了,今天心码三阶毕业考试,有点紧张,好几个家人帮我复习面试考题...
    路西法妈妈阅读 60评论 0 0
  • 这个世界上的人,大部分是视觉动物,男人爱唇红齿白,女人爱剑眉星目;另一部分人是触觉动物,男人爱蜂腰酥胸,女人爱长腿...
    涵丹尼阅读 136评论 0 0