欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

36/100. Generate Parentheses

发布时间:2024/1/17 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 36/100. Generate Parentheses 小编觉得挺不错的,现在分享给大家,帮大家做个参考.


给定n对括号,要求输出所有合法的括号排列。

使用DFS算法,主要分为两种情况:
①若有剩余的“(”,则添加“(”后继续递归;
②若有剩余的“)”,且“)”的个数多于“(”,即为排好的“(”个数多于“)”,这是判定是否合法的条件,则添加“)”后继续递归。

class Solution(object):def __init__(self):self.res = []def generateParenthesis(self, n):""":type n: int:rtype: List[str]"""self.helper("", n, n) #n个左括号,n个右括号return self.resdef helper(self, path, left, right):if left == 0 and right == 0:self.res.append(path)if left > 0:self.helper(path+"(", left-1, right)if right > 0 and right > left: self.helper(path+")", left, right-1)

总结

以上是生活随笔为你收集整理的36/100. Generate Parentheses的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。