Skip to content

Commit 3938e41

Browse files
committed
Add remove method
1 parent f704d81 commit 3938e41

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

19-singly-linked-lists/singly-linked-lists.js

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,23 @@ class SinglyLinkedList {
127127
newNode.next = temp;
128128

129129
this.length++;
130+
130131
return true;
131132
}
133+
134+
remove(index) {
135+
if (index < 0 || index >= this.length) return undefined;
136+
if (index === 0) return this.shift();
137+
if (index === this.length - 1) return this.pop();
138+
139+
let previousNode = this.get(index - 1);
140+
let removed = previousNode.next;
141+
previousNode.next = removed.next;
142+
143+
this.length--;
144+
145+
return removed;
146+
}
132147
}
133148

134149
let element = new SinglyLinkedList();
@@ -139,5 +154,6 @@ element.push('test3');
139154
element.unshift('test4');
140155
element.shift();
141156
element.set(0, 'Dhari');
142-
element.insert(1, 'Wow');
143-
console.log(element.get(1));
157+
element.insert(2, 'Wow');
158+
element.remove(2);
159+
console.log(element.get(2));

0 commit comments

Comments
 (0)