leetcode 20 parenthesis match
来源:互联网 发布:macbook装windows教程 编辑:程序博客网 时间:2024/04/30 16:44
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) { typedef string::size_type sz; sz size = s.size(); map<char, char> mp = { {')', '('}, {']', '['}, {'}', '{'}}; // make_pair(')', '('); typedef map<char, char>::const_iterator miter; vector<char> v; v.reserve(size); typedef vector<char>::const_iterator viter; for (sz i = 0; i != size; ++i) { char tmp = s[i]; miter mit = mp.find(tmp); if (mit == mp.end()) v.push_back(tmp); else { if (mit->second == *(v.rbegin())) v.pop_back(); else return false; } } if (v.empty()) return true; return false; }}; // runtime distribution 9.93%
参考后
class Solution {public: bool isValid(string s) { typedef string::size_type sz; sz size = s.size(); stack<char> intStack; typedef vector<char>::const_iterator viter; for (sz i = 0; i != size; ++i) { char tmp = s[i]; switch (s[i]){ case '(' : case '[' : case '{' : intStack.push(s[i]); break; case ')' : if (intStack.empty() || '(' != intStack.top()) return false; else intStack.pop(); break; case ']' : if (intStack.empty() || '[' != intStack.top()) return false; else intStack.pop(); break; case '}': if (intStack.empty() || '{' != intStack.top()) return false; else intStack.pop(); break; } } if (intStack.empty()) return true; return false; }}; // runtime distribution 9.93%
阅读全文
0 0
- leetcode 20 parenthesis match
- Leetcode 20 Valid Parenthesis
- 【leetcode】 generate parenthesis !!
- Leetcode: Generate Parenthesis
- [Leetcode] Generate Parenthesis
- leetcode Generate Parenthesis
- leetcode Generate Parenthesis
- LeetCode - Valid Parenthesis
- LeetCode:Generating Parenthesis
- 【LeetCode】valid-parenthesis
- [LeetCode]Valid Parenthesis String
- LeetCode-Valid Parenthesis String
- leetcode 678 Valid Parenthesis String
- Parenthesis
- Parenthesis
- Parenthesis
- leetcode regular expression match
- leetcode: regular expression match
- 第一节综述
- hdu1003最长连续子序列和dp
- 各种区别
- 第四章 4.1无向图
- SpringMVC(3)——@PathVariable&@RequestBody
- leetcode 20 parenthesis match
- 通俗易懂的希尔排序
- azure 最佳实践4 --可水平扩展的设计
- 源码编译安装 MySQL 5.5.x 实践
- 第四章 4.2 有向图
- java 数据库 触发器
- 参考资料
- selenium + python 鼠标点击事件
- openresty的初步使用