Generate Parentheses

来源:互联网 发布:快速学英语软件 编辑:程序博客网 时间:2024/05/22 04:54

题目详情:https://leetcode.com/problems/generate-parentheses/description/

想到用递归,但是自己没有写出来,后看了答案。递归看起来简单,但是感觉”韵味无穷”,我对递归一无所知,以后得加强训练啊。

# -*- coding:utf-8 -*-class Solution(object):    def generateParenthesis(self, n):        """        :type n: int        :rtype: List[str]        """        self.ans=[]#存储答案        self.generate("",n,n)        return self.ans    def generate(self,path,left,right):#path存储路径,left代表左括号,right代表右括号        if left!=0:#左括号还有剩余            self.generate(path+"(",left-1,right)        if right>left:#右括号大于左括号,            self.generate(path+")",left,right-1)        if not right:#右括号已经匹配完,代表左括号,右括号都已经匹配完            self.ans.append(path)
原创粉丝点击