Compte tenu de la liste d'échange par paires avec des noeuds adjacents, et la renvoyer à l'échange.
Vous ne pouvez pas tout simplement modifier les valeurs des nœuds internes, mais doivent être l'échange de nœud réel.
exemple:
1- donné> 2-> 3-> 4, vous devez retourner 2-> 1-> 4-> 3.
1 publique classe T24 { 2 3 publics swapPairs de ListNode (tête de ListNode) { 4 si (tête == NULL ) { 5 retour tête; 6 } 7 mannequin ListNode = nouveau ListNode (-1 ); 8 dummy.next = tête; 9 pre = ListNode factice; 10 11 12 tandis que (tête =! Null && head.next =! Null ) { 13 14 ListNode p1 = tête; 15 ListNode p2 = head.next; 16 17 // échange 18 pre.next = p2; 19 p1.next = p2.next; 20 p2.next = p1; 21 22 // continue 23 pre = p1; 24 tête = pre.next; 25 26 } 27 retour dummy.next; 28 29 } 30 }