diff --git a/java/BalancedBrackets.java b/java/BalancedBrackets.java new file mode 100644 index 00000000..839aaedd --- /dev/null +++ b/java/BalancedBrackets.java @@ -0,0 +1,54 @@ +import java.util.*; + +public class BalancedBrackets { + + static boolean areBracketsBalanced(String expr) + { + Deque stack + = new ArrayDeque(); + + for (int i = 0; i < expr.length(); i++) + { + char x = expr.charAt(i); + + if (x == '(' || x == '[' || x == '{') + { + stack.push(x); + continue; + } + if (stack.isEmpty()) + return false; + char check; + switch (x) { + case ')': + check = stack.pop(); + if (check == '{' || check == '[') + return false; + break; + + case '}': + check = stack.pop(); + if (check == '(' || check == '[') + return false; + break; + + case ']': + check = stack.pop(); + if (check == '(' || check == '{') + return false; + break; + } + } + return (stack.isEmpty()); + } + + // Driver code + public static void main(String[] args) + { + String expr = "([{}])"; + if (areBracketsBalanced(expr)) + System.out.println("Balanced "); + else + System.out.println("Not Balanced "); + } +}