public class BracketSequence {public static void main(String[] args) {System.out.println(isValid("([])"));}public static boolean isValid(String s) {if(s==null || s.length()==0){return true;}Stack<Character> stack = new Stack<>();char[] chars = s.toCharArray();for (int i = 0; i < chars.length; i++) {char ch = s.charAt(i);if(ch == '(' || ch == '[' || ch == '{'){stack.push(ch);}else{ if(!stack.isEmpty()){ char outbrackets = stack.pop();if( !func(outbrackets,ch) ){ return false;}}else{ return false;}}}if(!stack.isEmpty()){return false;}return true;}public static boolean func(char a,char b){if(a == '(' && b == ')'){return true;}else if(a == '[' && b == ']'){return true;}else if(a == '{' && b == '}'){return true;}return false;}
}