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…
Add table
Add a link
Reference in a new issue