public class Node {
public int value;
public Node next;
public Node(int data) {
this.value = data;
}
public Node reverse(Node head) {
Node pre = null;
Node next = null;
while (head != null) {
next = head.next;
head.next = pre;
pre = head;
head = next;
}
return pre;
}
Comment ce code s'inverse-t-il dans la boucle while ? Je veux être plus détaillé. Je l'ai débogué plusieurs fois et je n'arrive toujours pas à comprendre ce qui se passe
.
Il sera plus facile de comprendre le but si vous vous y référez. Le plus déroutant est de le traiter de droite à gauche, car vous devez d'abord sauvegarder les éléments à l'arrière, sinon ils seront écrasés et perdus.
Ps : Il est recommandé d'en savoir plus sur les listes chaînées d'abord