Joreto

P05BalancedParentheses

Sep 14th, 2023
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.21 KB | None | 0 0
  1. import java.util.ArrayDeque;
  2. import java.util.Deque;
  3. import java.util.Scanner;
  4.  
  5. public class P05BalancedParentheses {
  6.     public static void main(String[] args) {
  7.  
  8.         Scanner scanner = new Scanner(System.in);
  9.  
  10.  
  11.                 String input = scanner.nextLine();
  12.  
  13.                 if (isBalanced(input)) {
  14.                     System.out.println("YES");
  15.                 } else {
  16.                     System.out.println("NO");
  17.                 }
  18.             }
  19.  
  20.             public static boolean isBalanced(String s) {
  21.                 Deque<Character> stack = new ArrayDeque<>();
  22.  
  23.                 for (char c : s.toCharArray()) {
  24.                     if (c == '(' || c == '{' || c == '[') {
  25.                         stack.push(c);
  26.                     } else if (c == ')' && (stack.isEmpty() || stack.pop() != '(')) {
  27.                         return false;
  28.                     } else if (c == '}' && (stack.isEmpty() || stack.pop() != '{')) {
  29.                         return false;
  30.                     } else if (c == ']' && (stack.isEmpty() || stack.pop() != '[')) {
  31.                         return false;
  32.                     }
  33.                 }
  34.  
  35.                 return stack.isEmpty();
  36.             }
  37.         }
  38.  
  39.  
Advertisement
Add Comment
Please, Sign In to add comment