class Solution {
public:
bool isValid(string s) {
int len = s.length();
stack<char> result;
if(len == 0)
return true;
else if(len%2 == 1)
return false;
else{
for(int i =0; i < len; ++i){
if(result.empty())
result.push(s[i]);
else if((result.top() == '(' && s[i] == ')') || (result.top() == '[' && s[i] == ']') || (result.top() == '{' && s[i] == '}')){
result.pop();
}
else{
//if(s[i] == ')' || s[i] == ']' || s[i] == '}')
// return false;
//else
result.push(s[i]);
}
}
if(result.empty())
return true;
else
return false;
}
}
};
1、stack换成vector也是可以的;
2、其实更细化来讲,压栈压入的如果是右括号就可以直接终止了;