LeetCode: Generate Parentheses
来源:互联网 发布:aso优化 app排名 编辑:程序博客网 时间:2024/06/04 20:13
题目:
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:
[
“((()))”,
“(()())”,
“(())()”,
“()(())”,
“()()()”
]
这是一个生成括号的问题。给出n对括号,要求生成不同搭配组合的括号。要找出所有满足条件的解,可以用深搜算法,用递归来实现,算法复杂度为o(2^n)。由于左括号一定优先于右括号,算法执行时按先给左括号,然后在确定已给的左括号大于右括号的情况下,再给右括号。代码:
class Solution {public: //递归过程 void generate(vector<string>& result,string s,int m,int n) { if(m==0&&n==0) result.push_back(s);//递归结束条件 else { if(m!=0) generate(result,s+'(',m-1,n);//放左括号 if(m<n&&n!=0) generate(result,s+')',m,n-1);//放右括号 } } vector<string> generateParenthesis(int n) { vector<string> result; string temp=""; if(n==0) return result; generate(result,temp,n,n); return result; }};
0 0
- LeetCode: Generate Parentheses
- LeetCode: Generate Parentheses
- [Leetcode] Generate Parentheses
- leetcode 51: Generate Parentheses
- [LeetCode] Generate Parentheses
- Leetcode: Generate Parentheses
- LeetCode Generate Parentheses
- 【leetcode】Generate Parentheses
- [LeetCode]Generate Parentheses
- Leetcode Generate Parentheses
- LeetCode-Generate Parentheses
- LeetCode: Generate Parentheses
- LeetCode - Generate Parentheses
- LeetCode 22: Generate Parentheses
- LeetCode: Generate Parentheses
- Leetcode: Generate Parentheses
- 【leetcode】Generate Parentheses
- Leetcode: Generate Parentheses
- Android 4.2wifidisplay采集
- USB免驱摄像头采集图像【VS2012+opencv+directShow(CcameraDS)实现】
- 混合移动应用中地图导航功能开发与应用
- Git 学习(篇四 --Git别名)
- Javascript高级ajax、jsonp
- LeetCode: Generate Parentheses
- RadioGroup修改默认小圆点
- 说说MQ集群这件小事
- 思维 hdu 1847 (Good Luck in CET-4 Everybody!)
- 算法总结——大整数加法
- Git查看某一个文件的修改记录(提交记录)
- 括号匹配算法
- java设计模式,享元模式
- Android Studio 使用小技巧和快捷键