版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30986521/article/details/80931880
用栈括号匹配
class Solution {
public:
bool isOK(char x, char y)
{
if (x == '(' && y == ')')
{
return true;
}
else if (x == '[' && y == ']')
{
return true;
}
else if (x == '{' && y == '}')
{
return true;
}
return false;
}
bool isValid(string s) {
int len = s.length();
if (len == 0) return true;
vector<char> v;
for (int i = 0; i < len; i++)
{
if (s[i] == '(' || s[i] == '[' || s[i] == '{')
{
v.push_back(s[i]);
}
else
{
if (v.size() == 0) return false;
char ch = v[v.size() - 1];
v.pop_back();
if (!isOK(ch, s[i]))
{
return false;
}
}
}
return v.empty();
}
};