This commit is contained in:
26
src/s0020_valid_parentheses.cpp
Normal file
26
src/s0020_valid_parentheses.cpp
Normal file
@@ -0,0 +1,26 @@
|
||||
#include "s0020_valid_parentheses.hpp"
|
||||
|
||||
bool match(string s1, string s2) {
|
||||
return s1 == "(" && s2 == ")" ||
|
||||
s1 == "[" && s2 == "]" ||
|
||||
s1 == "{" && s2 == "}";
|
||||
}
|
||||
|
||||
// 直接用栈
|
||||
|
||||
bool Solution::isValid(string s) {
|
||||
stack<string> stack;
|
||||
int len = s.length();
|
||||
for (int i{0}; i < len; i++) {
|
||||
if (stack.empty()) {
|
||||
stack.push(s.substr(i, 1));
|
||||
} else {
|
||||
if (match(stack.top(), s.substr(i, 1))) {
|
||||
stack.pop();
|
||||
} else {
|
||||
stack.push(s.substr(i, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
return stack.empty();
|
||||
}
|
Reference in New Issue
Block a user