- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIsBalanced.java
More file actions
Latest commit
74 lines (69 loc) · 2.04 KB
/
Copy pathIsBalanced.java
File metadata and controls
74 lines (69 loc) · 2.04 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
importjava.io.*;
importjava.util.*;
publicclassIsBalanced {
Deque<Character> stack = newArrayDeque<Character>();
publicstaticStringisBalanced(Strings) {
// Write your code here
Deque<Character> stack = newArrayDeque<Character>();
for (inti = 0; i < s.length(); i++) {
charx = s.charAt(i);
if (x == '(' || x == '[' || x == '{') {
// Push the element in the stack
stack.push(x);
continue;
} else {
charcheck;
switch (x) {
case')':
if(stack.isEmpty()){
return"NO";
}
check = stack.pop();
if (check == '{' || check == '[')
return"NO";
break;
case'}':
if(stack.isEmpty()){
return"NO";
}
check = stack.pop();
if (check == '(' || check == '[')
return"NO";
break;
case']':
if(stack.isEmpty()){
return"NO";
}
check = stack.pop();
if (check == '(' || check == '{')
return"NO";
break;
default:
break;
}
}
}
if (stack.isEmpty()) {
return"YES";
}
return"NO";
}
publicstaticvoidmain(String[] args) throwsIOException {
Strings = "}][}}(}][))]";
Stringresult = isBalanced(s);
System.out.println(result);
}
// 6
// }][}}(}][))]
// [](){()}
// ()
// ({}([][]))[]()
// {)[](}]}]}))}(())(
// ([[)
// NO
// YES
// YES
// YES
// NO
// NO
}