美文网首页
力扣22 - 括号生成

力扣22 - 括号生成

作者: gaookey | 来源:发表于2020-08-31 19:17 被阅读0次

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。

示例:
输入:n = 3
输出:[
"((()))",
"(()())",
"(())()",
"()(())",
"()()()"
]

var parenthesis = [String]()

func generateParenthesis(_ n: Int) -> [String] {
    generate(0, 0, n, "")
    return parenthesis
}

func generate(_ left: Int, _ right: Int, _ n: Int, _ s: String) {
    
    if left == n && right == n {
        parenthesis.append(s)
        return
    }
    
    if left < n {
        generate(left + 1, right, n, s + "(")
    }
    
    if left > right {
        generate(left, right + 1, n, s + ")")
    }
}

//["((()))", "(()())", "(())()", "()(())", "()()()"]
generateParenthesis(3)

相关文章

  • 力扣22 - 括号生成

    数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。 示例:输入:n = 3...

  • LeetCode 22. 括号生成

    1、题目 22. 括号生成 - 力扣(LeetCode) https://leetcode-cn.com/prob...

  • 合法括号生成

    读完本文,你可以去力扣拿下如下题目: 22.括号生成[https://leetcode-cn.com/proble...

  • LeetCode-22. 括号生成

    参考:第7课-泛型递归、树的递归 LeetCode-22. 括号生成 22. 括号生成 数字 n 代表生成括号的对...

  • a 递归

    1 括号生成(leetcode 22)

  • 22 括号生成

  • 22 括号生成

    自己解法 核心思想是已生成的括号字符串里,左括号数要大于等于右括号数,然后使用递归的思想,每一步可以走不同的左右括...

  • LeetCodeDay51 —— 括号生成★★☆

    22. 括号生成 描述 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。...

  • leetcode(python)22.括号生成

    22.括号生成 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,...

  • [day7] [LeetCode] [title22,3,26]

    22.括号生成 给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出...

网友评论

      本文标题:力扣22 - 括号生成

      本文链接:https://www.haomeiwen.com/subject/qdjpsktx.html