leetcode 之 Valid Parentheses
来源:互联网 发布:php exec函数用法 编辑:程序博客网 时间:2024/06/15 06:34
题目如下:
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.
本题很容易想到用到栈,对于给定的字符串,遍历其每一个元素,如果遇到 ‘(’ ‘[’ ‘{’ 就将他们压入栈中,如果遇到 ‘)’ ‘]’ ‘}’,就取栈顶元素,看是否与其匹配,如果匹配则将栈顶元素pop掉,如果不匹配,返回false;遍历到最后检查栈是否为空,如果为空则为true,否则则为false;具体实现如下:
class Solution {public: bool isValid(string s) { int n = s.size(); stack<char> a; for (int i = 0; i < n; i++) { if(s[i] == '(' || s[i] == '[' || s[i] == '{') { a.push(s[i]); } if(s[i] == ')') { if(!a.empty() && a.top() == '(') { a.pop(); } else return false; } if(s[i] == '}') { if(!a.empty() && a.top() == '{') { a.pop(); } else return false; } if(s[i] == ']') { if(!a.empty() && a.top() == '[') { a.pop(); } else return false; } } return a.empty(); }};
阅读全文
0 0
- leetcode之Valid Parentheses
- LeetCode之Valid Parentheses
- leetcode之Valid Parentheses
- LeetCode之Valid Parentheses
- 【LeetCode】之Valid Parentheses
- 【Leetcode】之Valid Parentheses
- leetcode之Valid Parentheses
- LeetCode之Valid Parentheses
- leetcode 之 Valid Parentheses
- leetcode 之 Longest Valid Parentheses
- LeetCode之Longest Valid Parentheses
- 【Leetcode】之Longest Valid Parentheses
- LeetCode之20---Valid Parentheses
- Leetcode之Longest Valid Parentheses
- leetcode之20. Valid Parentheses
- LeetCode算法题之Valid Parentheses
- LeetCode 之 Valid Parentheses — C++ 实现
- LeetCode 之 Longest Valid Parentheses(栈)
- 什么是POJO?
- github:建立和删除一个fork
- Qt 学习之路 2(7):MainWindow 简介
- 加速开发插件()
- 第一次JAVA练习20170923
- leetcode 之 Valid Parentheses
- Q:java中关于String类型的一个问题
- 用sprintf函数将数字转换成字符串
- Chapter 6 贝叶斯学习
- cv1380(树形dp)
- Linux桥接模式下设置静态IP的方法
- 工厂模式
- 生成树计数的MatrixTree定理
- JS 瀑布流