Brackets

in #ita3 months ago

import java.util.Stack;

class BracketChecker {

private String expression;
BracketChecker(String expression) {
    this.expression = expression.replaceAll("[\\w\\s\\\\&^.+*-/]", "");
}


boolean areBracketsMatchedAndNestedCorrectly() {
Stack <Character> result = new Stack<>();
    for(char element : expression.toCharArray()){
        if(element == '(')
            result.add(')');
        else if(element == '[')
            result.add(']');
        else if(element == '{')
            result.add('}');
        else if(result.isEmpty() || result.pop() != element)
            return false;
    }
    return result.size() == 0; // gli stack hanno size()
}  

}