-
Notifications
You must be signed in to change notification settings - Fork 0
/
BalancedParentheses.java
42 lines (40 loc) · 1.43 KB
/
BalancedParentheses.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package StackAndQueues_Exercises;
import java.util.ArrayDeque;
import java.util.Locale;
import java.util.Scanner;
public class BalancedParentheses {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
ArrayDeque <Character> stack = new ArrayDeque<>();
boolean isTrue = true;
for (char element :
input.toCharArray()) {
if(element == '{' || element== '[' || element== '(' ){
stack.push(element);
}else if(element== '}' || element== ']' || element== ')') {
if (stack.isEmpty()) {
isTrue = false;
break;
} else {
char openingBracket = stack.pop();
if (openingBracket == '{' && element == '}') {
isTrue = true;
} else if (openingBracket == '[' && element == ']') {
isTrue = true;
} else if (openingBracket == '(' && element == ')') {
isTrue = true;
} else{
isTrue = false;
break;
}
}
}
}
if(isTrue){
System.out.println("YES");
}else{
System.out.println("NO");
}
}
}