Question

J'essaie de comprendre les bases de la liste liée. La définition de ma classe LinkedList est la suivante:

public class ListNode {
 int val;
 ListNode next;
 ListNode(int x) { val = x; }

Maintenant, je suis confronté à un problème. Mon code est le suivant:

ListNode dummy = new ListNode(0);
dummy.next =  head;
ListNode prev = dummy;
ListNode slow = head;
head.next = null;
prev.next = slow;

ListNode temp = slow.next;
prev.next = temp;

System.out.println(dummy.next); //comes out null

Pourquoi sort-il comme nul? Dummy.Next montrait la tête et je n'ai changé que lent et le prev?

Pouvons-nous utiliser lent et la tête de manière interchangeable? Si oui, pourquoi cela se produit-il?

// head points to a Linked list starting from 1 in 1 -> 2 -> 3
ListNode curr = head;

while(curr.next!= null){
    curr= curr.next;
}

System.out.println(curr);
System.out.println(head); //these are different and head does not change

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top