leetcode 20:Valid Parentheses(15-10-8)
来源:互联网 发布:axure mac 编辑:程序博客网 时间:2024/05/18 02:04
题目:
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.
这道题目和四则运算表达式求值比较类似,只需要用一个栈即可实现,具体方法为检测到左括号就入栈,检测到右括号就出栈,并将检测的右括号和出栈的左括号匹配,知道所有的都匹配时才为真。
时间复杂度:O(n)
实现:
class Solution {public:bool isValid(string s) {if (s.size() < 2) return false;stack<char> myStack;for (int i = 0; s[i] != '\0'; i++){if (s[i] == '(' || s[i] == '{' || s[i] == '[') myStack.push(s[i]);else if (myStack.empty()) return false;else{char temp = myStack.top();myStack.pop();if (temp + 1 == s[i] || temp + 2 == s[i]) continue;else return false;}}if (myStack.empty()) //Areturn true;return false;}};
注意:A处
0 0
- leetcode 20:Valid Parentheses(15-10-8)
- LeetCode 20: Valid Parentheses
- LeetCode(20) Valid Parentheses
- leetcode 20 Valid Parentheses
- Leetcode【20】:Valid Parentheses
- leetcode 20-Valid Parentheses
- [leetcode 20] Valid Parentheses
- [Leetcode] 20 - Valid Parentheses
- LeetCode | #20 Valid Parentheses
- leetcode.20-----------Valid Parentheses
- [leetcode] 20 Valid Parentheses
- leetcode-20 Valid Parentheses
- leetCode #20 Valid Parentheses
- leetcode 20 Valid Parentheses
- Leetcode 20 Valid Parentheses
- LeetCode 20 - Valid Parentheses
- LeetCode 20: Valid Parentheses
- leetcode-20 Valid Parentheses
- [NOIP2014]寻找道路 D2 T2
- 京东构建需求响应式亿级商品详情页技术分析
- Linux内核工程导论——硬件:无线子系统
- 动态联编
- 黑马程序员---OC学习笔记之常见结构体
- leetcode 20:Valid Parentheses(15-10-8)
- 二维码
- HDU 4694 Important Sisters Lengauer_Tarjan算法
- 面向对象练习
- hiho1088 Right-click Context Menu 递归 贪心
- 代码简洁之道:C++ 11 之auto+ for_each + lamda表达式
- Linux内核工程导论——存储:文件系统
- layoutSubViews方法调用时机
- Open Credit System UVA 11078