//#20 Valid Parentheses
//0ms 100%
class Solution {
public:
bool isValid(string s)
{
vector<char> stk;
for(unsigned int i=0; i<s.length(); i++)
{
//cout << "stk current size: " << stk.size() << endl;
if(s[i] == '(' || s[i] == '[' || s[i] == '{')
{
//cout << "Insert\n";
stk.push_back(s[i]);
}
else if(s[i] == ')' || s[i] == ']' || s[i] == '}')
{
//cout << "Delete\n";
if(stk.empty()) return false;
if(stk.back() == '(' && s[i] == ')') stk.pop_back();
else if(stk.back() == '[' && s[i] == ']') stk.pop_back();
else if(stk.back() == '{' && s[i] == '}') stk.pop_back();
else return false;
}
else
{
cout << "Input Invalid\n";
exit(1);
}
}
if(stk.empty()) return true;
else return false;
}
};
[Leetcode] #20 Valid Parentheses
最新推荐文章于 2025-08-20 09:37:41 发布