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 boolean isValid(String s) {
int len = s.length();
if(len == 0)
return true;
if(len%2 != 0)
return false;
Stack<Character> sk = new Stack<Character>();
for(int i=0;i<len;i++)
{
if(s.charAt(i) == '{')
sk.push('}');
else if(s.charAt(i) == '[')
sk.push(']');
else if(s.charAt(i) == '(')
sk.push(')');
else if(sk.empty()||sk.peek()!=s.charAt(i))
return false;
else
sk.pop();
}
return sk.empty();
}
}