This commit is contained in:
Harish Nanthan 2024-04-25 08:35:23 +08:00 committed by GitHub
commit 3aa5cb5765
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -12,6 +12,8 @@ export default class LinkedList {
/** @var LinkedListNode */
this.tail = null;
this.length = 0;
this.compare = new Comparator(comparatorFunction);
}
@ -29,6 +31,9 @@ export default class LinkedList {
this.tail = newNode;
}
// once node added, modify the length the list
this.length++;
return this;
}
@ -51,6 +56,9 @@ export default class LinkedList {
this.tail.next = newNode;
this.tail = newNode;
// once node added, modify the length the list
this.length++;
return this;
}
@ -63,6 +71,8 @@ export default class LinkedList {
const index = rawIndex < 0 ? 0 : rawIndex;
if (index === 0) {
this.prepend(value);
} else if (index === this.length) {
this.append(value);
} else {
let count = 1;
let currentNode = this.head;
@ -85,6 +95,10 @@ export default class LinkedList {
}
}
}
// once node added, modify the length the list
this.length++;
return this;
}
@ -125,6 +139,9 @@ export default class LinkedList {
this.tail = currentNode;
}
// once node added, modify the length the list
this.length--;
return deletedNode;
}
@ -186,6 +203,9 @@ export default class LinkedList {
this.tail = currentNode;
// once node added, modify the length the list
this.length--;
return deletedTail;
}
@ -206,6 +226,9 @@ export default class LinkedList {
this.tail = null;
}
// once node added, modify the length the list
this.length--;
return deletedHead;
}