Description:
题目大意:括号匹配。
解题思路:
算法标签:栈
代码:
class Solution {
public:
bool isValid(string s) {
stack<char>data;
int len = s.length();
if(len % 2 == 1)
return false;
if(s[0] == '}' || s[0] == ']' || s[0] == ')')
return false;
for(int i = 0;i < len;i++) {
if(s[i] == '(' || s[i] == '{' || s[i] == '[') {
data.push(s[i]);
continue;
}
if(s[i] == ')' && data.top() != '(')
return false;
if(s[i] == ']' && data.top() != '[')
return false;
if(s[i] == '}' && data.top() != '{')
return false;
data.pop();
}
if(!data.empty())
return false;
else
return true;
}
};