removeAt
que elimine el element
en un index
dado. El método debe llamarse removeAt(index)
. Para eliminar un element
en un determinado index
, deberemos mantener un recuento de cada nodo a medida que avanzamos a lo largo de la lista vinculada. Una técnica común utilizada para recorrer los elementos de una lista enlazada implica un 'corredor' , o centinela, que 'apunta' a los nodos que su código está comparando. En nuestro caso, a partir de la head
de nuestra lista, comenzamos con una currentIndex
variable que comienza en 0
. El currentIndex
debe incrementarse en uno para cada nodo que pasemos. Al igual que con nuestro método remove(element)
, debemos tener cuidado de no dejar huérfano al resto de nuestra lista cuando eliminamos el nodo en nuestro método removeAt (índice). Mantenemos nuestros nodos contiguos asegurándonos de que el nodo que tiene referencia al nodo eliminado tenga una referencia al siguiente nodo. removeAt(index)
que elimine y devuelva un nodo en un index
determinado. El método debe devolver null
si el index
dado es negativo, o mayor o igual a la length
de la lista enlazada. Nota Recuerde mantener la cuenta del currentIndex
. LinkedList
debe tener un método removeAt
.
testString: 'assert((function(){var test = new LinkedList(); return (typeof test.removeAt === "function")}()), "Your LinkedList
class should have a removeAt
method.");'
- text: Su método removeAt
debería reducir la length
de la lista enlazada
testString: 'assert((function(){var test = new LinkedList(); test.add("cat"); test.add("dog"); test.add("kitten"); test.removeAt(1); return test.size() === 2}()), "Your removeAt
method should reduce the length
of the linked list");'
- text: El método removeAt
también debe devolver el elemento del nodo eliminado.
testString: 'assert((function(){var test = new LinkedList(); test.add("cat"); test.add("dog"); test.add("kitten"); return test.removeAt(1) === "dog"}()), "Your removeAt
method should also return the element of the removed node.");'
- text: El método removeAt
también debe devolver un null
si el índice dado es menor que 0
testString: 'assert((function(){var test = new LinkedList(); test.add("cat"); test.add("dog"); test.add("kitten"); return (test.removeAt(-1) === null)}()), "Your removeAt
method should also return null
if the given index is less than 0
");'
- text: El método removeAt
también debe devolver un null
si el índice dado es igual o mayor que la length
de la lista enlazada.
testString: 'assert((function(){var test = new LinkedList(); test.add("cat"); test.add("dog"); test.add("kitten"); return (test.removeAt(3) === null)}()), "Your removeAt
method should also return null
if the given index is equal or more than the length
of the linked list.");'
```