import java.util.Stack;
public class Solution {
public boolean isValid(String s) {
int size=s.length();
if(size==0)
return true;
boolean res=true;
Stack<Character> stack=new Stack<Character>();
for(int i=0;i<size;i++)
{
char c=s.charAt(i);
if(c=='('||c== '{'||c=='[')
{
stack.add(c);
}
else
{
if(stack.isEmpty())
{
res=false;
break;
}
char temp=stack.pop();
if(c==')')
{
if(temp!='(')
{
res=false;
break;
}
}
else if(c=='}')
{
if(temp!='{')
{
res=false;
break;
}
}
else
{
if(temp!='[')
{
res=false;
break;
}
}
}
}
if(!stack.isEmpty())
res=false;
return res;
}
}