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));
}
}