Tell us what’s happening:
I don’t know why it is not passing test highlighted loop test only
I don’t understand what exactly it wants
Your code so far
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++;
};
// Only change code below this line
this.removeAt = function(index) {
var count = 0 ;
var current = head ;
var target ;
var prev ;
> if (this.size() == 1) {
> let copy = head
> delete head.element ;
> delete head.next;
> length--
> return copy.element ;
> }
else if (index <0 || index >= this.size())
return null ;
else {
while (current ){
prev = current
if (prev ){
if (index == count){
target = current.element ;
}
count++;
}current = prev.next
}
}
var currentNode = head;
var previousNode;
if(currentNode.element === target){
head = currentNode.next;
length--
return currentNode.element
} else {
while(currentNode.element !== target) {
previousNode = currentNode;
currentNode = currentNode.next;
}
previousNode.next = currentNode.next;
length--
return currentNode.element
}
}
// Only change code above this line
}
let exp = new LinkedList()
exp.add('first') ;
// exp.add('second') ;
// exp.add('third') ;
exp.removeAt(1)
console.log(exp.head(),exp.size())
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36.
Challenge: Remove Elements from a Linked List by Index
Link to the challenge: