public class Bracket { static boolean isMatched(String brackets){ int string_size = brackets.length(); Stack<Character> match = new Stack<Character>(); char symbol ; boolean is_match = true ; for(int i = 0 ; i<string_size ; i++){ symbol = brackets.charAt(i); if(symbol == '{' || symbol == '[' || symbol == '('){ match.push(symbol); } if(symbol == '}' || symbol == ']' || symbol == ')'){ if(match.isEmpty()){ is_match = false ; break ; }else{ if((symbol =='}' && match.peek() =='{') ||(symbol ==']' && match.peek() =='[') ||(symbol ==')' && match.peek() =='(')){ match.pop(); }else{ is_match = false ; break ; } } } } if(!match.isEmpty()){ is_match = false ; } return is_match ; } public static void main(String[] args) { String brackets = "(())abc{[]()}" ; System.out.println(Bracket.isMatched(brackets)); } }