zoukankan      html  css  js  c++  java
  • 147-21. 合并两个有序链表

    将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。(我写的第一个)
    class Solution(object):
        def mergeTwoLists1(self, l1, l2):
            """我的思路是,既然要合并,直接遍历出来,排序重构
            :type l1: ListNode
            :type l2: ListNode
            :rtype: ListNode
            """
            temp_list = []
            if l1:
                self.search(l1, temp_list)
            if l2:
                self.search(l2, temp_list)
            temp_list = sorted(temp_list, reverse=True)
            pre = None
            for i in temp_list:
                cur = ListNode(i)
                cur.next = pre
                pre = cur
            return pre
    
        def search(self, n1, temp_list):
            temp = n1
            temp_list.append(temp.val)
            while temp.next:
                temp = temp.next
                temp_list.append(temp.val)
    
        def mergeTwoLists(self, l1, l2):
            """这个我的好,内存消耗小,同时执行效率高
            :type l1: ListNode
            :type l2: ListNode
            :rtype: ListNode
            """
            head = ListNode(0)
            a = head
            while l1 and l2:
                if l1.val < l2.val:
                    a.next = l1
                    l1 = l1.next
                else:
                    a.next = l2
                    l2 = l2.next
                a = a.next
            else:
                if l1:
                    a.next = l1
                else:
                    a.next = l2
            return head.next
    
    
    if __name__ == '__main__':
        root1 = ListNode(1)
        n2 = ListNode(2)
        n3 = ListNode(4)
        n2.next = n3
        root1.next = n2
    
        root2 = ListNode(1)
        n4 = ListNode(3)
        n5 = ListNode(4)
        n4.next = n5
        root2.next = n4
    
        s1 = Solution()
        new_root = s1.mergeTwoLists(root1, root2)
        new_root.search()
    
  • 相关阅读:
    欧拉定理证明&阶乘的逆元
    Tree POJ
    GCD
    java42
    java41
    java
    java40
    搭建两个网站的琐碎问题
    虚拟机从无到有,服务器从无到有的历程(在更)
    java39
  • 原文地址:https://www.cnblogs.com/liuzhanghao/p/14297631.html
Copyright © 2011-2022 走看看