File tree 1 file changed +52
-0
lines changed
1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change
1
+ import java .util .*;
2
+
3
+ class Solution {
4
+ public int solution (String s ) {
5
+ var answer = 0 ;
6
+ var maxCount = s .length ();
7
+
8
+ var queue = new ArrayDeque <Character >();
9
+
10
+ for (var c : s .toCharArray ()) queue .offerLast (c );
11
+
12
+ while (maxCount -- > 0 ){
13
+ var store = new ArrayDeque <Character >();
14
+ var sub = new ArrayDeque <Character >();
15
+ var flag = true ;
16
+ while (!queue .isEmpty ()){
17
+ var e = queue .pollFirst ();
18
+ store .offerLast (e );
19
+
20
+ if (e == '(' || e == '{' || e == '[' ) sub .offerLast (e );
21
+ else if (sub .size () == 0 ) {
22
+ flag = false ;
23
+ break ;
24
+ }
25
+ else {
26
+ var pl = sub .pollLast ();
27
+
28
+ if (e == ')' && pl == '(' ) continue ;
29
+ if (e == '}' && pl == '{' ) continue ;
30
+ if (e == ']' && pl == '[' ) continue ;
31
+
32
+ flag = false ;
33
+ break ;
34
+ }
35
+ }
36
+
37
+ if (sub .isEmpty () && flag ) answer ++;
38
+
39
+ while (store .size () > 1 ) queue .offerFirst (store .pollLast ());
40
+ queue .offerLast (store .pollFirst ());
41
+
42
+
43
+ }
44
+
45
+ return answer ;
46
+ }
47
+ }
48
+
49
+ /*
50
+
51
+
52
+ */
You can’t perform that action at this time.
0 commit comments