LeetCode 22 Generate Parentheses(生成括号)
来源:互联网 发布:淘宝手机话费充值平台 编辑:程序博客网 时间:2024/05/21 10:57
翻译
给定一个括号序列,写一个函数用于生成正确形式的括号组合。例如,给定n = 3,一个解决方案集是:"((()))", "(()())", "(())()", "()(())", "()()()"
原文
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:"((()))", "(()())", "(())()", "()(())", "()()()"
代码
class Solution {public: vector<string> result; vector<string> generateParenthesis(int n) { generate(0, 0, "", n); return result; } void generate(int left, int right, string s, int n) { if(right == n) { result.push_back(s); } else { if(left < n) { generate(left + 1, right, s + "(", n); } if(right < left) { generate(left, right + 1, s + ")", n); } } }};
我自己写的是用排列组合加上第20题的代码,有些繁琐不如上面的解法,为了更直观的理解这个递归的过程,就画了下面这个示意图。轻拍……
2 0
- LeetCode 22 Generate Parentheses(生成括号)
- LeetCode 22 Generate Parentheses(生成括号)
- LeetCode | Generate Parentheses(生成括号)
- LeetCode 22. Generate Parentheses(生成括号)
- Leetcode:Generate Parentheses 生成有效括号对
- Generate Parentheses--生成匹配括号(重)
- 22. Generate Parentheses(生成括号)
- LeetCode-22 Generate Parentheses(合法括号情况)
- LeetCode22 Generate Parentheses 括号生成
- [Lintcode]Generate Parentheses 生成括号
- Generate Parentheses:生成括号对
- leetCode 22.Generate Parentheses (生成括号) 解题思路和方法
- Generate Parentheses (括号匹配)【leetcode】
- 【LeetCode-面试算法经典-Java实现】【022-Generate Parentheses(生成括号)】
- LeetCode(22)Generate Parentheses
- LeetCode (22)Generate Parentheses
- [Leetcode-22]Generate Parentheses 生成圆括号
- 【leetcode】括号符匹配问题(Parentheses):Valid Parentheses|Generate Parentheses|LongestValid Parentheses
- java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常解决
- scanf注意事项
- 决策树——教材上的数据集
- Velt中的IntelliSense路径配置
- JavaScript学习笔记三
- LeetCode 22 Generate Parentheses(生成括号)
- HDU 1561 树形DP
- 算数-平均数、中位数和众数平均数
- 转:OPTION SQL_SELECT_LIMIT=DEFAULT java连接mysql错误
- POJ1011- DFS+剪枝
- iOS常见问题总结(四)
- docker部署nodejs环境(boot2docker)
- [kuangbin带你飞]专题一 简单搜索N - Find a way(HDU 2612)
- 二叉树、平衡二叉树、完全二叉树、满二叉树