33 lines
670 B
C++
33 lines
670 B
C++
|
#include <string>
|
||
|
#include <vector>
|
||
|
|
||
|
class Solution {
|
||
|
public:
|
||
|
bool isValid(const std::string& s)
|
||
|
{
|
||
|
std::vector<char> st;
|
||
|
|
||
|
for (auto c : s) {
|
||
|
switch (c) {
|
||
|
case '(':
|
||
|
st.push_back(')');
|
||
|
break;
|
||
|
case '{':
|
||
|
st.push_back('}');
|
||
|
break;
|
||
|
case '[':
|
||
|
st.push_back(']');
|
||
|
break;
|
||
|
default:
|
||
|
if (st.empty() || st.back() != c) {
|
||
|
return false;
|
||
|
}
|
||
|
st.pop_back();
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return st.empty();
|
||
|
}
|
||
|
};
|