zoukankan      html  css  js  c++  java
  • 1.9合并两个有序链表

    合并两个有序链表

    解题思想:

    分别用l1,l2遍历两个链表,如果l1.data小于l2.data,则将l1归入合并后的链表,l1=l1.next;反之将l2归入合并后的链表,l2=l2.next;如果其中一个链表遍历结束,则将没遍历完的另一链表的剩下部分归入合并后的链表

    代码实现:

    # -*-coding:utf-8-*- 
    """
    @Author  : 图南
    @Software: PyCharm
    @Time    : 2019/9/7 14:23
    """
    class Node:
        def __init__(self, data=None, next=None):
            self.data = data
            self.next = next
    
    
    def print_link(head):
        cur = head.next
        while cur.next != None:
            print(cur.data, end=' ')
            cur = cur.next
        print(cur.data)
    
    
    def con_link(n):
        nums = list(map(int, n.split(' ')))
        head = Node()
        cur = head
        for num in nums:
            node = Node(num)
            cur.next = node
            cur = node
        return head
    
    
    def mergeLink(head1, head2):
        head = Node
        cur = head
        l1 = head1.next
        l2 = head2.next
        while l1 is not None and l2 is not None:
            if l1.data < l2.data:
                cur.next = l1
                l1 = l1.next
                cur = cur.next
                cur.next = None
            else:
                cur.next = l2
                l2 = l2.next
                cur = cur.next
                cur.next = None
        if l1 is None:
            cur.next = l2
        else:
            cur.next = l1
        print_link(head)
    
    
    if __name__ == '__main__':
        n1 = input("Link1:")
        n2 = input("Link2:")
        head1 = con_link(n1)
        head2 = con_link(n2)
        mergeLink(head1, head2)
    

    运行结果:

  • 相关阅读:
    avcodec_open2()分析
    CentOS 6.9 下安装DB2
    使用python操作mysql数据库
    python之tcp自动重连
    决策树算法
    文件夹自动同步工具
    KNN算法介绍
    go语言生成uuid
    golang之log rotate
    golang之tcp自动重连
  • 原文地址:https://www.cnblogs.com/miao-study/p/11480819.html
Copyright © 2011-2022 走看看