Given a string containing just the characters '('
, ')'
, '{'
, '}'
, '['
and ']'
, determine if the input string is valid.
The brackets must close in the correct order, "()"
and "()[]{}"
are all valid but "(]"
and "([)]"
are not.
public class Solution {
public static boolean isValid(String s) {
Stack<Character>ss=new Stack<Character>();
for(int i=0;i<s.length();i++)
{
if(s.charAt(i)=='('||s.charAt(i)=='['||s.charAt(i)=='{')
{
ss.push(s.charAt(i));
}
else
{
if(ss.empty())
return false;
else{
if(s.charAt(i)==')')
{
if(ss.peek()=='(')
ss.pop();
else
return false;
}
else
if(s.charAt(i)==']')
{
if(ss.peek()=='[')
ss.pop();
else
return false;
}
else
if(s.charAt(i)=='}')
{
if(ss.peek()=='{')
ss.pop();
else
return false;
}
}
}
}
if(!ss.empty())
return false;
else
return true;
}
}