zoukankan      html  css  js  c++  java
  • 23. Merge k Sorted Lists

    Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.

    Example:

    Input:
    [
    1->4->5,
    1->3->4,
    2->6
    ]
    Output: 1->1->2->3->4->4->5->6

    # Definition for singly-linked list.
    class ListNode:
        def __init__(self, x):
            self.val = x
            self.next = None
    
    class Solution:
        def mergeKLists(self, lists):
            """
            :type lists: List[ListNode]
            :rtype: ListNode
            """
            if len(lists)==0:
                return None
            if len(lists)==1:
                return lists[0]
            head = self.mergeTwoLists(lists[0],lists[1])
            for i in range(2,len(lists)):
                head = self.mergeTwoLists(head,lists[i])
            return head
        def mergeTwoLists(self, l1, l2):
            """
            :type l1: ListNode
            :type l2: ListNode
            :rtype: ListNode
            """
            if l1 is None and l2 is None:
                return l1
            if l1 is None:
                return l2
            if l2 is None:
                return l1
            start = ListNode(0)
            pos = start
            while l1 and l2:
                if l1.val<l2.val:
                    pos.next = l1
                    l1 = l1.next
                    pos = pos.next
                else:
                    pos.next = l2
                    l2 = l2.next
                    pos = pos.next
            if l1:
                pos.next = l1
                l1 = l1.next
                pos = pos.next
            if l2:
                pos.next = l2
                l2 = l2.next
                pos = pos.next
            return start.next
    
  • 相关阅读:
    Nginx学习高可用
    Nginx安装学习
    Nginx服务器熟悉
    SVN无法连接解决方法
    CentOS 7下搭建SVN服务器&多项目教程
    iframe操作
    Java 微服务架构选型
    vue-cli4.5创建vue项目
    线程间的协作(wait/notify/sleep/yield/join)
    多线程的创建、停止
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9783820.html
Copyright © 2011-2022 走看看