[leetcode]Generate Parentheses @ Python
2014-06-10 13:25
260 查看
原题地址:https://oj.leetcode.com/problems/generate-parentheses/
题意:
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
For example, given n = 3, a solution set is:
解题思路:列举出所有合法的括号匹配,使用dfs。如果左括号的数量大于右括号的数量的话,就不能产生合法的括号匹配。
代码:
题意:
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
For example, given n = 3, a solution set is:
"((()))", "(()())", "(())()", "()(())", "()()()"
解题思路:列举出所有合法的括号匹配,使用dfs。如果左括号的数量大于右括号的数量的话,就不能产生合法的括号匹配。
代码:
class Solution: # @param an integer # @return a list of string # @draw a decision tree when n == 2, and you can understand it! def helpler(self, l, r, item, res): if r < l: return if l == 0 and r == 0: res.append(item) if l > 0: self.helpler(l - 1, r, item + '(', res) if r > 0: self.helpler(l, r - 1, item + ')', res) def generateParenthesis(self, n): if n == 0: return [] res = [] self.helpler(n, n, '', res) return res
相关文章推荐
- leetcode Generate Parentheses python
- [LeetCode]Generate Parentheses@python
- [leetcode]Generate Parentheses 生成圆括号 python实现
- LeetCode 22 — Generate Parentheses(C++ Java Python)
- LeetCode--Generate Parentheses(括号组合排列)Python
- LeetCode 22 Generate Parentheses (C,C++,Java,Python)
- 【Leetcode】【python】Generate Parentheses
- [LeetCode] 022. Generate Parentheses (Medium) (C++/Java/Python)
- [LeetCode]题解(python):022-Generate Parentheses
- [leetcode]Generate Parentheses
- LeetCode 笔记系列五 Generate Parentheses
- [LeetCode] Generate Parentheses
- LeetCode - Generate Parentheses
- [LeetCode] Generate Parentheses 解题报告
- [Leetcode 49] 22 Generate Parentheses
- leetcode 51: Generate Parentheses
- 【leetcode】Generate Parentheses
- Generate Parentheses (括号匹配)【leetcode】
- [LeetCode] Generate Parentheses
- [leetcode]Generate Parentheses