class Solution {
public:
/**
*
* @param s string字符串
* @return bool布尔型
*/
bool isValid(string s) {
// write code here
stack<char> stk;
char a = s[0];
if (a == '(' || a == '[' || a == '{')
stk.push(a);
else return false;
int i = 1;
while (!stk.empty() || (s[i] == '(' || s[i] == '[' || s[i] == '{') ) {
char a = s[i];
if (a == '(' || a == '[' || a == '{'){
stk.push(a);
i++;
}
else {
char b = s[i];
a = stk.top();
if ((a == '(' && b != ')') || (a == '[' && b != ']') || (a == '{' && b != '}'))
return false;
else{
stk.pop();
}
i++;
}
}
if(i < s.length())
return false;
return true;
}
};