remove method
T?
remove(
- T obj
Removes a specific node from this list and then returns its data. This method returns null if the list is empty or the specific node does not exists.
Implementation
T? remove(T obj) {
if (_head == null) return null;
_Node<T>? current = _head, previous;
while (current != null) {
if (current.data == obj) {
if (current == _head) return removeFirst();
previous!.next = current.next;
_size--;
return current.data;
}
previous = current;
current = current.next;
}
return null;
}