用栈的思想。
class Solution {
unordered_map<char, char> map={
{')', '('}, {']', '['}, {'}', '{'}
};
public:
bool isValid(string s) {
vector<char> vec;
for(int i=0; i<s.size(); i++){
auto it = map.find(s[i]);
if(vec.size()==0 || it == map.end()){
vec.push_back(s[i]);
// cout << s[i] << "入" << endl;
}else if(it->second==vec[vec.size()-1]){
// cout << vec[vec.size()-1] << "出" << endl;
vec.pop_back();
}else{
return false;
}
}
if(vec.size()==0){
return true;
}else{
return false;
}
}
};