f.h
BAN USERimport java.util.Stack;
public class BalancedBrackets {
public static void main(String[] args) {
System.out.println(isBalanced("{{}}{()[]([])}"));
}
private static boolean isBalanced(String text) {
Stack<Character> helper = new Stack<Character>();
for(Character c : text.toCharArray()) {
if(isOpenBracket(c)) {
helper.push(c);
} else if(isClosingBracket(c)) {
if(helper.isEmpty() || !matches(helper.pop(), c)){
return false;
}
}
}
return helper.isEmpty();
}
private static boolean isOpenBracket(Character c) {
return c == '(' || c == '{' || c == '[';
}
private static boolean isClosingBracket(Character c) {
return c == ')' || c == '}' || c == ']';
}
private static boolean matches(Character open, Character close) {
switch (open) {
case '(':
return close == ')';
case '{':
return close == '}';
case '[':
return close == ']';
default:
break;
}
return false;
}
}
Java:
Outputs:
- f.h March 08, 2017