Skip to content

Commit f704d81

Browse files
committed
Add insert method
1 parent 9f4f660 commit f704d81

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

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

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,30 @@ class SinglyLinkedList {
105105
}
106106
return false;
107107
}
108+
109+
insert(index, val) {
110+
if (index < 0 || index > this.length) return false;
111+
112+
if (index === index.length) {
113+
this.push(val);
114+
return true;
115+
// or !!this.push(val)
116+
}
117+
if (index === 0) {
118+
this.unshift(val);
119+
return true;
120+
// or !!this.unshift(val);
121+
}
122+
123+
let newNode = new Node(val);
124+
let prev = this.get(index - 1);
125+
let temp = prev.next;
126+
prev.next = newNode;
127+
newNode.next = temp;
128+
129+
this.length++;
130+
return true;
131+
}
108132
}
109133

110134
let element = new SinglyLinkedList();
@@ -115,4 +139,5 @@ element.push('test3');
115139
element.unshift('test4');
116140
element.shift();
117141
element.set(0, 'Dhari');
118-
console.log(element.get(0));
142+
element.insert(1, 'Wow');
143+
console.log(element.get(1));

0 commit comments

Comments
 (0)