leetCode #20 Valid Parentheses
来源:互联网 发布:中国环保网络电视台 编辑:程序博客网 时间:2024/04/29 23:18
题目:判断各种括号是否正确匹配
分析:用栈来解决,左边的括号push进去,右边的括号则判断是否在栈顶有对应的左括号。
还有一种方法是搜索字符串,有效的字符串里必定有一组括号是相邻且匹配的。
答案:
class Solution {
public:
bool isValid(string s) {
int len = s.length();
stack<char> stk;
bool result = true;
for (int i = 0; i < len; i++)
{
if (s[i] == '(' || s[i] == '[' || s[i] == '{')
stk.push(s[i]);
else
{
if (s[i] == ')')
{
if (!stk.empty() && stk.top() == '(')
stk.pop();
else
{
result = false;
break;
}
}
if (s[i] == ']')
{
if (!stk.empty() && stk.top() == '[')
stk.pop();
else
{
result = false;
break;
}
}
if (s[i] == '}')
{
if (!stk.empty() && stk.top() == '{')
stk.pop();
else
{
result = false;
break;
}
}
}
}
if (!stk.empty())
result = false;
return result;
}
};
- 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
- leetcode 20 -- Valid Parentheses
- stitching_detail算法介绍
- HDU 3639 Hawk-and-Chicken (强连通分量+树形DP)
- 正则表达式——快速学习及常用整理
- POJ 3259 Wormholes 最短路径(Bellman Ford)
- 杭电ACM——1049Climbing Worm
- leetCode #20 Valid Parentheses
- [JAVA]选择排序,插入排序,冒泡排序
- 循环队列的简单知识
- 除了花粉,日本人戴口罩是为了什么?
- PAT 1023. 组个最小数
- POJ 2010 - Moo University - Financial Aid(优先队列)
- BZOJ 3319 黑白树 并查集+线段树
- 再谈用c++实现property,不明白那些委员会是干嘛吃的。
- 8 ② RecognizedGesture 本例识别不了 待解决