[LeetCode]20. Valid Parentheses
题目描述
思路
常规思路栈
(据说可以用hash,待尝试)
代码
#include <iostream>
#include <stack>
using namespace std;
class Solution {
public:
bool isValid(string s) {
stack<char> l;
for (char ch : s) {
switch (ch) {
case '{':
case '[':
case '(':
l.push(ch);
break;
case '}':
if (l.empty() || l.top() != '{')
return false;
else
l.pop();
break;
case ']':
if (l.empty() || l.top() != '[')
return false;
else
l.pop();
break;
case ')':
if (l.empty() || l.top() != '(')
return false;
else
l.pop();
break;
default:
break;
}
}
return l.empty();
}
};
int main() {
Solution s;
cout << s.isValid("[()]") << endl;
system("pause");
return 0;
}
本文介绍了一种使用栈来验证括号序列有效性的方法。通过遍历输入字符串并利用栈进行匹配,可以高效地判断括号是否正确闭合。文章提供了一个C++实现示例,并展示了如何检查各种类型的括号。
270

被折叠的 条评论
为什么被折叠?



