Итак, скажем, у нас есть этот связанный список: a-> s-> d -> f, и мы хотели удалить d.Связанный список, удаляющий узел из определенной позиции путаницы
У меня возникли проблемы с пониманием того, почему этот код ниже правильно удаляет элемент из связанного списка, и почему приведенный ниже код не дает одинаковых результатов?
Правильный код:
public void deleteNode(ListNode node) {
node.val = node.next.val;
node.next = node.next.next;
}
Неверный код:
public void deleteNode(ListNode node) {
node = node.next;//d now points to f
//So wouldn't node s.next now equal f
//because we have changed what node d references to?
}
Спасибо!