Skip to content

Commit 530d1b6

Browse files
committed
Implement remove method on the Singly Linked List class
1 parent f8df6d0 commit 530d1b6

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

SinglyLinkedList.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,22 @@ class SinglyLinkedList {
100100
return true;
101101
}
102102
}
103+
104+
remove(index) {
105+
if (index < 0 || index >= this.length) return;
106+
107+
if (index === 0) return this.shift();
108+
else if (index === this.length - 1) this.pop();
109+
else {
110+
let left = this.get(index - 1);
111+
let removed = left.next;
112+
let right = removed.next;
113+
114+
left.next = right;
115+
this.length--;
116+
return removed;
117+
}
118+
}
103119
}
104120

105121
let list = new SinglyLinkedList();

0 commit comments

Comments
 (0)