美文网首页
leetcode--22--括号生成

leetcode--22--括号生成

作者: minningl | 来源:发表于2020-04-28 22:30 被阅读0次

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

示例:

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

链接:https://leetcode-cn.com/problems/generate-parentheses

思路:
1、这道题可以使用回溯来做,使用left、right来代表左右括号的个数,如果left、right均为0,则说明括号都用完了,可以将当前结果curr放入总结果ret中。如果left大于0,说明还需要继续放左括号;如果右括号的个数小于做括号的个数,则继续放右括号

Python代码如下:

class Solution(object):
    def generateParenthesis(self, n):
        """
        :type n: int
        :rtype: List[str]
        """
        ret = []
        self.dfs(ret, n, n, '')

        return ret

    def dfs(self, ret, left, right, curr):
        if left ==0 and right==0:
            ret.append(curr)
        if left>0:
            self.dfs(ret,left-1,right,curr+'(')
        if right>left:
            self.dfs(ret,left,right-1,curr+')')

相关文章

  • leetcode--22--括号生成

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

  • LeetCode-22. 括号生成

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

  • HJ77 火车进站

     火车进站问题等同于括号生成[1]。 BM60 括号生成。 给出n对括号,请编写一个函数来生成所有的由n对括号组成...

  • 括号生成 (有效括号)

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

  • 括号生成

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

  • 括号生成

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

  • 括号生成

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/gene...

  • 括号生成

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

  • 括号生成

    题目需求 /*** 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。* ...

  • 生成括号

    版权声明:本文为博主原创文章,转载请注明出处。个人博客地址:https://yangyuanlin.club欢迎来...

网友评论

      本文标题:leetcode--22--括号生成

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