Skip to content

Commit 4d80557

Browse files
committed
Update MyLinkedList.ts
1 parent cbd626f commit 4d80557

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

lfu-cache/MyLinkedList.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,24 @@ export class MyLinkedList<T = number> {
2727
insert_First(node: DoublyLinkedList<T>): void {
2828
this.insert_After(this.#freq_list_head, node);
2929
}
30+
append_last(node: DoublyLinkedList<T>): void {
31+
this.insert_Before(this.#freq_list_tail, node);
32+
}
33+
insert_Before(
34+
next_node: DoublyLinkedList<T>,
35+
new_node: DoublyLinkedList<T>
36+
): void {
37+
const next = next_node;
38+
const prev = next_node.prev;
39+
if (prev && next) {
40+
prev.next = new_node;
41+
new_node.prev = prev;
42+
new_node.next = next;
43+
next.prev = new_node;
44+
} else {
45+
throw Error("next prev_node not in list");
46+
}
47+
}
3048
remove_node(node: DoublyLinkedList<T>): void {
3149
const prev = node.prev;
3250
const next = node.next;

0 commit comments

Comments
 (0)