mirror of
https://gitlab.com/mfocko/LeetCode.git
synced 2024-11-10 00:09:06 +01:00
problems(cpp): add “20. Valid Parentheses”
Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
parent
1388a820e7
commit
10b6b3dd69
1 changed files with 32 additions and 0 deletions
32
problems/valid-parentheses.cpp
Normal file
32
problems/valid-parentheses.cpp
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
#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();
|
||||||
|
}
|
||||||
|
};
|
Loading…
Reference in a new issue