class Solution {
public:
bool isValid(string s) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int n = s.size();
if (n==0) {
return true;
}
stack<char> ss;
for (int i=0; i<s.size(); i++) {
if (s[i]=='(' || s[i] == '[' || s[i] == '{') {
ss.push(s[i]);
}
if (s[i]==')' || s[i]==']'||s[i]=='}') {
switch (s[i]) {
case ')':
if(!ss.empty()&&ss.top()=='(') {
ss.pop();
} else {
return false;
}
break;
case ']':
if(!ss.empty()&&ss.top()=='[') {
ss.pop();
} else {
return false;
}
break;
case '}':
if(!ss.empty()&&ss.top()=='{') {
ss.pop();
} else {
return false;
}
break;
default:
return false;
break;
}
}
}
if (ss.empty()) {
return true;
}
return false;
}
};
public:
bool isValid(string s) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int n = s.size();
if (n==0) {
return true;
}
stack<char> ss;
for (int i=0; i<s.size(); i++) {
if (s[i]=='(' || s[i] == '[' || s[i] == '{') {
ss.push(s[i]);
}
if (s[i]==')' || s[i]==']'||s[i]=='}') {
switch (s[i]) {
case ')':
if(!ss.empty()&&ss.top()=='(') {
ss.pop();
} else {
return false;
}
break;
case ']':
if(!ss.empty()&&ss.top()=='[') {
ss.pop();
} else {
return false;
}
break;
case '}':
if(!ss.empty()&&ss.top()=='{') {
ss.pop();
} else {
return false;
}
break;
default:
return false;
break;
}
}
}
if (ss.empty()) {
return true;
}
return false;
}
};