Vingt-deux noeuds de commutation dans la liste -24

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 }

 

Je suppose que tu aimes

Origine www.cnblogs.com/zzytxl/p/12507999.html
conseillé
Classement