LeetCode---Generate Parentheses
2015-12-08 11:24
513 查看
题目大意:给出一个非负整数n,表示有n对括号,输出其所有合法的括号排列。
算法思想:
一步一步的构造括号序列。依据两个原则:1.当做扩号数小于N时可以添加左括号;2.当右括号数大于N时可以添加有括号。最后当左括号数等于N时表明产生一个合法排列,将括号补充完整。采用深度优先搜索找出所有可行方案。
代码如下:
算法思想:
一步一步的构造括号序列。依据两个原则:1.当做扩号数小于N时可以添加左括号;2.当右括号数大于N时可以添加有括号。最后当左括号数等于N时表明产生一个合法排列,将括号补充完整。采用深度优先搜索找出所有可行方案。
代码如下:
class Solution { public: vector<string> generateParenthesis(int n) { vector<string> res; if(n>0) dfs(n,"",0,0,res); return res; } void dfs(int n,string s,int l,int r,vector<string>&res){ if(l==n){ res.push_back(s.append(l-r,')')); return ; } dfs(n,s+'(',l+1,r,res); if(r<l) dfs(n,s+')',l,r+1,res); } };
相关文章推荐
- mxd文件进行浏览操作时频繁出现I/O问题
- PHP 类的private protected public 详解
- JAVA虚拟机干货
- iOS 提示 Toast
- 搜索框下拉列表
- android 单元测试案例
- Rotate Array
- Ubuntu14.04.3命令行界面无法登陆问题
- python之pillow的使用
- <c:if test="value ne, eq, lt, gt,...."> 用法
- asp.net Form 认证【转】
- thinkphp之性能调试
- maven 把spring项目打包成可执行的文件
- Linux下crontab内环境变量与Shell环境变量的关系【转】
- 清理Unity Console上的Log信息
- 监控平台bosun快速入门
- VC对话框全屏显示及相应控件位置改变(转)
- self,super,protocol,category,extension 的用法
- IE 和Firefox的js兼容性总结
- MongoDB C# Driver 使用示例 (2.2)