【LeetCode】Valid Parentheses & Generate Parentheses & Longest Valid Parentheses
来源:互联网 发布:java图像压缩算法 编辑:程序博客网 时间:2024/04/28 22:55
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:
"((()))", "(()())", "(())()", "()(())", "()()()"
参考:
http://www.cnblogs.com/remlostime/archive/2012/11/06/2757711.html
http://www.2cto.com/kf/201310/251552.html
http://blog.csdn.net/pickless/article/details/9141935
class Solution {public: vector<string> generateParenthesis(int n) { string str; vector<string> ret; generateParenthesisCore(ret,"",0,0,n); return ret; } void generateParenthesisCore(vector<string> &ret,string str,int lnum,int rnum,const int n) { if(lnum > n)return; if(lnum + rnum == 2*n) ret.push_back(str); generateParenthesisCore(ret,str+'(',lnum + 1,rnum,n);if(lnum > rnum)generateParenthesisCore(ret,str+')',lnum,rnum+1,n);}};
Longest Valid Parentheses
Given a string containing just the characters '('
and ')'
, find the length of the longest valid (well-formed) parentheses substring.
For "(()"
, the longest valid parentheses substring is "()"
, which has length = 2.
Another example is ")()())"
, where the longest valid parentheses substring is "()()"
, which has length = 4.
Valid Parentheses
Given a string containing just the characters '('
, ')'
, '{'
, '}'
, '['
and ']'
, determine if the input string is valid.
The brackets must close in the correct order, "()"
and "()[]{}"
are all valid but "(]"
and "([)]"
are not.
class Solution {public: bool isValid(string s) { int size = s.size(); stack<char> stk; while(size--) { if(stk.size() == 0 || !ispair(stk.top(),s[size])) stk.push(s[size]); else stk.pop();}return stk.empty(); } bool ispair(char ch1,char ch2) { return ((ch1 == ')' && ch2 == '(')||(ch1 == '}' && ch2 == '{')||(ch1 == ']' && ch2 == '[')); }};
- [LeetCode] Valid Parentheses、Generate Parentheses、Longest Valid Parentheses
- 【LeetCode】Valid Parentheses && Generate Parentheses && Longest Valid Parentheses
- 【LeetCode】Valid Parentheses & Generate Parentheses & Longest Valid Parentheses
- Generate Parentheses & Valid Parentheses
- LeetCode: Longest Valid Parentheses
- LeetCode Longest Valid Parentheses
- LeetCode: Longest Valid Parentheses
- [Leetcode] Longest Valid Parentheses
- [leetcode]longest Valid Parentheses(!!)
- [Leetcode] Longest Valid Parentheses
- leetcode Longest Valid Parentheses
- 【leetcode】Longest Valid Parentheses
- [LeetCode]Longest Valid Parentheses
- [leetcode] Longest Valid Parentheses
- LeetCode-Longest Valid Parentheses
- [LeetCode] Longest Valid Parentheses
- LeetCode:Longest Valid Parentheses
- Leetcode: Longest Valid Parentheses
- linux学习记录:lvm
- JavaScript 基础结构
- asp.net生成验证码
- PMC推出针对LTE优化的WinPath4处理器,巩固其在移动回传领域的领导地位
- windows phone 8 如何监听ScrollView的ManipulationCompletedg事件
- 【LeetCode】Valid Parentheses & Generate Parentheses & Longest Valid Parentheses
- 在C#中利用Keep-Alive处理Socket网络异常断开的方法
- System.getProperty("line.separator")
- 【机器学习算法-python实现】KNN-k近邻算法的实现(附源码)
- 编程之美--求阶乘数结尾的0的个数 求二进制最有一个1的位置
- 【Lucene3.6.2入门系列】第14节_SolrJ操作索引和搜索文档以及整合中文分词
- phpmyadmin 出现Cannot start session without errors 错误 总结的几种原因和解决办法
- 《算法导论》笔记 第13章 13.1 红黑树的性质
- poj A Funny Game