A: las ideas de resolución de problemas
Tiempo: El (n), el espacio: La (1)
Dos: ejemplos de código completo (C ++ versión y la versión Java)
C ++:
clase de soluciones { público : NodoLista * deleteDuplicates (NodoLista * cabeza) { si ((cabeza == NULL) || (cabeza-> próximo == NULL)) vuelta la cabeza; NodoLista * p = cabeza; mientras que (! (p = NULL) && (p-> siguiente =! NULL)) { si (p> val == (p-> siguiente) -> val) { NodoLista * todėl = p-> siguiente; p -> siguiente = toDel-> siguiente; } Demás { p = p-> siguiente; } } Volver la cabeza; } };
Java:
clase de soluciones { público deleteDuplicates NodoLista (cabeza NodoLista) { si (la cabeza == nula || head.next == nula ) de retorno de cabeza; NodoLista p = cabeza; mientras que ((p =! nula ) && (p.next =! nulo )) { si (== p.val p.next.val) { NodoLista todėl = p.next; p.next = toDel.next; } Demás { p = p.next; } } Volver la cabeza; } }