22. Generate Parentheses(unsolved)
来源:互联网 发布:按键精灵读取数据库 编辑:程序博客网 时间:2024/06/05 20:36
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> generateParenthesis(int n) { vector<string> v; addstr( v,"",n,0); return v; } void addstr(vector<string>& v,string str,int n,int m) { if(n==0&&m==0) { v.push_back(str); return; } if(n>0) addstr(v,str+"(",n-1,m+1); if(m>0) addstr(v,str+")",n,m-1); }};
二刷的时候做出来了,要注意nleft<=nright,否则会出现“(()))(”的情况。
我的思路是先把( 放入,全部放入后,然后再把 ) 放入。弹回上好几层后,发现可以再放入),然后放入(。 反正顺序就是:
[“((()))”,”(()())”,”(())()”,”()(())”,”()()()”]
class Solution {public: vector<string> generateParenthesis(int n) { if(n==0) return result; backtrack(n,n,""); return result; } void backtrack(int nleft,int nright,string temp) { if(nleft>0&&nleft<=nright) { backtrack(nleft-1,nright,temp+"("); } if(nright>0&&nleft<=nright) { backtrack(nleft,nright-1,temp+")"); } if(nleft==0&&nright==0) result.push_back(temp); }private: vector<string> result;};
0 0
- 22. Generate Parentheses(unsolved)
- [LeetCode]22.Generate Parentheses
- LeetCode --- 22. Generate Parentheses
- LeetCode 22.Generate Parentheses
- [Leetcode] 22. Generate Parentheses
- 【LeetCode】22.Generate Parentheses
- 22. Generate Parentheses
- [leetcode] 22.Generate Parentheses
- 【leetcode】22. Generate Parentheses
- Leetcode-22.Generate Parentheses
- [leetcode] 22. Generate Parentheses
- 22. Generate Parentheses
- 22. Generate Parentheses
- 22. Generate Parentheses LeetCode
- 22. Generate Parentheses
- leetcode 22. Generate Parentheses
- 22. Generate Parentheses
- [LeetCode]22. Generate Parentheses
- mysql 查group by 后的总数
- Linux的文本编辑和文本内容查看命令
- Android 环信之踩过的坑(一)---配置
- 第一个Makefile文件
- .NET(C#)测试控制台应用
- 22. Generate Parentheses(unsolved)
- python 编码与解码
- 固态硬盘(Win7)+ 机械硬盘(Ubuntu)双系统安装和自制 Ubuntu 镜像傻瓜式教程
- 正则表达式
- revit api 之PostCommand用法之一
- An Introduction to Microsoft .NET Remoting Framework
- Service 上
- Java HtmlEmail 使用QQ邮箱发送邮件报错 530 Error: A secure connection is requiered(such as ssl)
- AngularJS中ng-app的赋值问题