File tree 5 files changed +61
-51
lines changed
5 files changed +61
-51
lines changed Original file line number Diff line number Diff line change 37
37
class CQueue :
38
38
39
39
def __init__ (self ):
40
- self ._s1 = []
41
- self ._s2 = []
42
-
43
- def _check (self ):
44
- if not self ._s2:
45
- while self ._s1:
46
- self ._s2.append(self ._s1.pop())
40
+ self .s1 = []
41
+ self .s2 = []
47
42
48
43
def appendTail (self , value : int ) -> None :
49
- self ._s1.append(value)
50
- self ._check()
44
+ self .s1.append(value)
45
+ if not self .s2:
46
+ self ._move()
51
47
52
48
def deleteHead (self ) -> int :
53
- self ._check()
54
- return - 1 if not self ._s2 else self ._s2.pop()
49
+ if not self .s2:
50
+ self ._move()
51
+ return - 1 if not self .s2 else self .s2.pop()
52
+
53
+ def _move (self ):
54
+ while self .s1:
55
+ self .s2.append(self .s1.pop())
56
+
55
57
56
58
57
59
# Your CQueue object will be instantiated and called as such:
@@ -64,28 +66,31 @@ class CQueue:
64
66
65
67
``` java
66
68
class CQueue {
67
- private Stack<Integer > s1 = new Stack<> ();
68
- private Stack<Integer > s2 = new Stack<> ();
69
69
70
+ private Deque<Integer > s1;
71
+ private Deque<Integer > s2;
70
72
public CQueue () {
71
-
73
+ s1 = new ArrayDeque<> ();
74
+ s2 = new ArrayDeque<> ();
72
75
}
73
-
76
+
74
77
public void appendTail (int value ) {
75
78
s1. push(value);
76
- check();
79
+ if (s2. isEmpty()) {
80
+ move();
81
+ }
77
82
}
78
-
83
+
79
84
public int deleteHead () {
80
- check();
81
- return s2. empty() ? - 1 : s2. pop();
85
+ if (s2. isEmpty()) {
86
+ move();
87
+ }
88
+ return s2. isEmpty() ? - 1 : s2. pop();
82
89
}
83
90
84
- private void check () {
85
- if (s2. empty()) {
86
- while (! s1. empty()) {
87
- s2. push(s1. pop());
88
- }
91
+ private void move () {
92
+ while (! s1. isEmpty()) {
93
+ s2. push(s1. pop());
89
94
}
90
95
}
91
96
}
Original file line number Diff line number Diff line change 1
1
class CQueue {
2
- private Stack <Integer > s1 = new Stack <>();
3
- private Stack <Integer > s2 = new Stack <>();
4
2
3
+ private Deque <Integer > s1 ;
4
+ private Deque <Integer > s2 ;
5
5
public CQueue () {
6
-
6
+ s1 = new ArrayDeque <>();
7
+ s2 = new ArrayDeque <>();
7
8
}
8
9
9
10
public void appendTail (int value ) {
10
11
s1 .push (value );
11
- check ();
12
+ if (s2 .isEmpty ()) {
13
+ move ();
14
+ }
12
15
}
13
16
14
17
public int deleteHead () {
15
- check ();
16
- return s2 .empty () ? -1 : s2 .pop ();
18
+ if (s2 .isEmpty ()) {
19
+ move ();
20
+ }
21
+ return s2 .isEmpty () ? -1 : s2 .pop ();
17
22
}
18
23
19
- private void check () {
20
- if (s2 .empty ()) {
21
- while (!s1 .empty ()) {
22
- s2 .push (s1 .pop ());
23
- }
24
+ private void move () {
25
+ while (!s1 .isEmpty ()) {
26
+ s2 .push (s1 .pop ());
24
27
}
25
28
}
26
29
}
Original file line number Diff line number Diff line change 1
1
class CQueue :
2
2
3
3
def __init__ (self ):
4
- self ._s1 = []
5
- self ._s2 = []
6
-
7
- def _check (self ):
8
- if not self ._s2 :
9
- while self ._s1 :
10
- self ._s2 .append (self ._s1 .pop ())
4
+ self .s1 = []
5
+ self .s2 = []
11
6
12
7
def appendTail (self , value : int ) -> None :
13
- self ._s1 .append (value )
14
- self ._check ()
8
+ self .s1 .append (value )
9
+ if not self .s2 :
10
+ self ._move ()
15
11
16
12
def deleteHead (self ) -> int :
17
- self ._check ()
18
- return - 1 if not self ._s2 else self ._s2 .pop ()
13
+ if not self .s2 :
14
+ self ._move ()
15
+ return - 1 if not self .s2 else self .s2 .pop ()
16
+
17
+ def _move (self ):
18
+ while self .s1 :
19
+ self .s2 .append (self .s1 .pop ())
20
+
19
21
20
22
21
23
# Your CQueue object will be instantiated and called as such:
22
24
# obj = CQueue()
23
25
# obj.appendTail(value)
24
- # param_2 = obj.deleteHead()
26
+ # param_2 = obj.deleteHead()
Original file line number Diff line number Diff line change @@ -55,9 +55,9 @@ class Solution {
55
55
public int fib (int n ) {
56
56
int a = 0 , b = 1 ;
57
57
for (int i = 0 ; i < n; ++ i) {
58
- int s = (a + b) % 1000000007 ;
58
+ int c = (a + b) % 1000000007 ;
59
59
a = b;
60
- b = s ;
60
+ b = c ;
61
61
}
62
62
return a;
63
63
}
Original file line number Diff line number Diff line change @@ -2,9 +2,9 @@ class Solution {
2
2
public int fib (int n ) {
3
3
int a = 0 , b = 1 ;
4
4
for (int i = 0 ; i < n ; ++i ) {
5
- int s = (a + b ) % 1000000007 ;
5
+ int c = (a + b ) % 1000000007 ;
6
6
a = b ;
7
- b = s ;
7
+ b = c ;
8
8
}
9
9
return a ;
10
10
}
You can’t perform that action at this time.
0 commit comments