标签:栈,字符串
NO.20 有效的括号
class Solution {
public:
bool isValid(string s) {
if(s.size() % 2) return false;
vector<char> vecStack;
char c;
for(auto i : s) {
if(i == '}' || i == ')' || i== ']') {
if (!vecStack.empty()) c = vecStack[vecStack.size()-1];
else return false;
if(i == '}' && c != '{') return false;
if(i == ')' && c != '(') return false;
if(i == ']' && c != '[') return false;
vecStack.pop_back();
}
else vecStack.push_back(i);
}
return vecStack.empty();
}
};
时间复杂度:O(N);
空间复杂度:O(N);