В чем разница с LinkedList? - PullRequest
       55

В чем разница с LinkedList?

0 голосов
/ 22 февраля 2020
public ListNode deleteDuplicates(ListNode head) {
    ListNode current = head;
    while (current != null && current.next != null) {
        if (current.next.val == current.val) {
            current.next = current.next.next;
        } else {
            current = current.next;
        }
    }
    return head;
}

Это программа, которая удаляет дублированный узел значений из LinkedList (например, [1,1,2,3,4,4] → [1,2,3,4]).

Мне интересно, почему "current.next = current.next.next;" удалить «current.next» с «current.next.next» и «current = current.next;» переместить указатель на «current.next».

Для меня, похоже, оба «удалить программу».

1 Ответ

1 голос
/ 22 февраля 2020

это очень легко понять, позвольте мне сделать для вас фотографию.

//this means No1 Node.next is forward to No3 Node,then No2 Node is remove
current.next = current.next.next;
//this means No1 Node reference is forward No2 Node,can't change No1 Node next reference
current = current.next;

картинка скажет ваше enter image description here

...