reclamación
- Dada una lista, por cada dos nodos adyacentes intercambian su posición
Ejemplos
- 1-> 2-> 3-> 4-> NULL
- 2-> 1-> 4-> 3-> NULL
realización
1 struct NodoLista { 2 int val; 3 NodoLista * siguiente; 4 NodoLista ( int x): val (x), al lado (NULL) {} 5 }; 6 7 clase Solution { 8 público : 9 NodoLista * swapPairs (NodoLista * cabeza) { 10 NodoLista * dummyHead = nuevo NodoLista ( 0 ); 11 dummyHead-> siguiente = cabeza; 12 13 NodoLista * p = dummyHead; 14 mientras(P-> siguiente && p-> next-> siguiente) { 15 NodoLista * node1 = p-> siguiente; 16 NodoLista * nodo2 = node1-> siguiente; 17 NodoLista * = node2- siguiente> siguiente; 18 19 node2-> siguiente = node1; 20 node1-> siguiente = próximo; 21 p-> siguiente = node2; 22 23 p = node1; 24 } 25 26 NodoLista * retNode = dummyHead-> siguiente; 27 de borrado dummyHead; 28 29 volver retNode; 30 } 31 };
relacionados
- 25 nodos inversa en k-Group
- 147 Lista Ordenar Inserción
- 148 Ordenar lista