zoukankan      html  css  js  c++  java
  • leetcode22 Generate Parentheses

     1 """
     2  Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
     3 For example, given n = 3, a solution set is:
     4 [
     5   "((()))",
     6   "(()())",
     7   "(())()",
     8   "()(())",
     9   "()()()"
    10 ]
    11 """
    12 """
    13 每次增加括号时需要判断之前字符串中左右括号的个数
    14 判断增加‘(’或‘)’依据为,
    15 #若当前字符串的长度等于2n则字符串存入列表中
    16 若之前字符串中左括号个数小于n,则应增加左括号,
    17 若之前字符串中右括号个数小于左括号,则应增加右括号
    18 """
    19 class Solution:
    20     def generateParenthesis(self, n):
    21         result = []
    22         # 函数嵌套
    23         def trackback(S="", left=0, right=0):
    24             if len(S) == 2 * n:
    25                 result.append(S)
    26             if left < n:
    27                 trackback(S + '(', left + 1, right)
    28             if right < left:
    29                 trackback(S + ')', left, right + 1)
    30         trackback()
    31         return result
  • 相关阅读:
    AdminLTE模板
    日历插件
    Jquery 拖拽表格宽度
    Java桌面程序打包成exe可执行文件
    使用Access-Control-Allow-Origin解决跨域
    Ubuntu默认root密码
    Lua的require和module小结
    nginx 安装
    chkconfig命令
    [转]fedora启动telnet服务
  • 原文地址:https://www.cnblogs.com/yawenw/p/12310874.html
Copyright © 2011-2022 走看看