Explore diversas soluciones LeetCode en Python, C++, JavaScript, SQL y TypeScript. Ideal para preparación de entrevistas, aprendizaje y práctica de código en múltiples lenguajes de programación. Enlace de repositorio de Github
Se le proporciona una variedad de k
listas enlazadas liza
, cada lista enlazada se ordena en orden ascendente.
Fusione todas las listas vinculadas en una lista vinculada ordenada y devuélvala.
Ejemplo 1:
Aporte: listas = [[1,4,5],[1,3,4],[2,6]] Producción: [1,1,2,3,4,4,5,6] Explicación: Las listas enlazadas son: [ 1->4->5, 1->3->4, 2->6 ] fusionándolas en una lista ordenada: 1->1->2->3->4->4->5->6
Ejemplo 2:
Aporte: listas = [] Producción: []
Ejemplo 3:
Aporte: listas = [[]] Producción: []
Restricciones:
k == listas.longitud
0 <= k <= 10 4
0 <= listas[i].length <= 500
-10 4 <= listas[i][j] <= 10 4
listas[i]
está ordenado en orden ascendente.- La suma de
listas[i].longitud
no excederá10 4
.
Pitón
# Definición de lista enlazada simple. from writing import List, clase opcional ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next class Solución: def mergeKLists(self, listas: List[Optional[ListNode]]) -> Opcional[ListNode]: nodos = [] cabeza = punto = ListNode(0) para izquierda en listas: mientras izquierda: nodos.append(izquierda.val) izquierda = izquierda.next para x en ordenado(nodos): punto.next = ListNode(x) punto = punto.next devolver cabeza.next