class Solution {
public:
bool isValid(string s) {
if(s.empty())
{
return true;
}
map<char,char> m_str={{')','('},{'}','{'},{']','['}};
auto len=s.size();
stack<char> str;
for(size_t i=0;i<len;i++)
{
if(s[i]=='('||s[i]=='['||s[i]=='{')
{
str.push(s[i]);
}
else
{
if(str.empty())
{
return false;
}
if(m_str[s[i]]==str.top())
{
str.pop();
}
else
{
return false;
}
}
}
if(str.empty())
{
return true;
}
else
{
return false;
}
}
};