What is your hint or solution suggestion?
Solution
function LinkedList() {
var length = 0;
var head = null;
var Node = function(element) {
this.element = element;
this.next = null;
};
this.size = function() {
return length;
};
this.head = function() {
return head;
};
this.add = function(element) {
var node = new Node(element);
if (head === null) {
head = node;
} else {
var currentNode = head;
while (currentNode.next) {
currentNode = currentNode.next;
}
currentNode.next = node;
}
length++;
};
this.addAt = (index, element) => {
let node = new Node(element);
let currentIndex = 0;
let currentNode = head;
if (index < 0 || index >= length) {
return false;
}
if (index === 0) {
head.next = head;
head = node;
} else {
while (currentIndex < index) {
currentNode = currentNode.next;
currentIndex++;
}
currentNode.next = node;
}
length++;
}
}
Challenge: Add Elements at a Specific Index in a Linked List
Link to the challenge: