File tree 1 file changed +11
-5
lines changed
src/main/java/com/thealgorithms/datastructures/queues
1 file changed +11
-5
lines changed Original file line number Diff line number Diff line change @@ -37,13 +37,16 @@ private static class DequeNode<S> {
37
37
*/
38
38
public void addFirst (T val ) {
39
39
DequeNode <T > newNode = new DequeNode <>(val );
40
- if (head == null ) {
41
- head = tail = newNode ;
40
+
41
+ if (isEmpty ()) {
42
+ head = newNode ;
43
+ tail = newNode ;
42
44
} else {
43
45
newNode .next = head ;
44
46
head .prev = newNode ;
45
47
head = newNode ;
46
48
}
49
+
47
50
size ++;
48
51
}
49
52
@@ -55,7 +58,8 @@ public void addFirst(T val) {
55
58
public void addLast (T val ) {
56
59
DequeNode <T > newNode = new DequeNode <>(val );
57
60
if (tail == null ) {
58
- head = tail = newNode ;
61
+ head = newNode ;
62
+ tail = newNode ;
59
63
} else {
60
64
newNode .prev = tail ;
61
65
tail .next = newNode ;
@@ -77,7 +81,8 @@ public T pollFirst() {
77
81
78
82
T oldHeadVal = head .val ;
79
83
if (head == tail ) {
80
- head = tail = null ;
84
+ head = null ;
85
+ tail = null ;
81
86
} else {
82
87
head = head .next ;
83
88
head .prev = null ;
@@ -99,7 +104,8 @@ public T pollLast() {
99
104
100
105
T oldTailVal = tail .val ;
101
106
if (head == tail ) {
102
- head = tail = null ;
107
+ head = null ;
108
+ tail = null ;
103
109
} else {
104
110
tail = tail .prev ;
105
111
tail .next = null ;
You can’t perform that action at this time.
0 commit comments