mirror of
https://github.com/arkorty/LeetCode.git
synced 2026-03-17 16:51:46 +00:00
25 lines
714 B
C++
25 lines
714 B
C++
#include <iostream>
|
|
#include <stack>
|
|
|
|
class Solution {
|
|
public:
|
|
bool isValid(std::string line) {
|
|
std::stack<char> shelf;
|
|
for (auto iter = line.begin(); iter != line.end(); iter.operator++()) {
|
|
if (*iter == '(' || *iter == '{' || *iter == '[') {
|
|
shelf.push(*iter);
|
|
} else if (shelf.empty()) {
|
|
return false;
|
|
} else if ((*iter == ')' && shelf.top() == '(') ||
|
|
(*iter == '}' && shelf.top() == '{') ||
|
|
(*iter == ']' && shelf.top() == '[')) {
|
|
shelf.pop();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return shelf.empty();
|
|
}
|
|
};
|