class Solution {
public:
bool isValid(string s);
};
bool Solution::isValid(string s)
{
vector<char> left;
char right;
int n=s.length();
int left_count=0;
if(n%2==0 &&s[0]!='}'&&s[0]!=']'&&s[0]!=')')
{
for(int i=0;i<n;i++)
{
if(s[i]=='('||s[i]=='{'||s[i]=='[')
{
left.push_back(s[i]);
}
else
{
right=s[i];
int num=left.size();
char temp=left.at(num-1);
if(right==')'&&temp=='(')
{
left.pop_back();
}
else if(right=='}'&&temp=='{')
{
left.pop_back();
}
else if(right==']'&&temp=='[')
{
left.pop_back();
}
else return 0;
}
}
int count=left.size();
if(count==0) return 1;
else return 0;
}
else return 0;
}