Brackets
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()
}
}