svephoto

Balanced Parentheses [Java]

May 11th, 2021 (edited)
407
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.14 KB | None | 0 0
  1. import java.util.ArrayDeque;
  2. import java.util.Scanner;
  3.  
  4. public class BalancedParentheses {
  5.     public static void main(String[] args) {
  6.         Scanner scanner = new Scanner(System.in);
  7.  
  8.         String input = scanner.nextLine();
  9.  
  10.         ArrayDeque<Character> stack = new ArrayDeque<>();
  11.  
  12.         boolean areBalanced = true;
  13.  
  14.         for (int i = 0; i < input.length(); i++) {
  15.             char temp = input.charAt(i);
  16.  
  17.             if (temp == '[' || temp == '{' || temp == '(') {
  18.                 stack.push(temp);
  19.             } else {
  20.                 if (stack.isEmpty()) {
  21.                     areBalanced = false;
  22.                     break;
  23.                 }
  24.  
  25.                 char closingBracket = stack.pop();
  26.  
  27.                 if ((closingBracket == '{' && temp != '}' || closingBracket == '[' && temp != ']' ||
  28.                         closingBracket == '(' && temp != ')')) {
  29.                     areBalanced = false;
  30.                     break;
  31.                 }
  32.             }
  33.         }
  34.  
  35.         if (areBalanced) {
  36.             System.out.println("YES");
  37.         } else {
  38.             System.out.println("NO");
  39.         }
  40.     }
  41. }
  42.  
Add Comment
Please, Sign In to add comment