首页 > 其他 > 详细

剑指offer——16合并两个链表

时间:2019-09-04 18:24:52      阅读:79      评论:0      收藏:0      [点我收藏+]

题目描述

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

思路

基础题,就是按照两个链表中小的节点,插入新的链表,将位置移到下一个。在一个链表结束后要判断另一个链表是否还有,有的花直接加入即可。

class Solution:
    # 返回合并后列表
    def Merge(self, pHead1, pHead2):
        # write code here
        z = ListNode(90)
        p = z#定义头结点位置
        if pHead1==None:
            return pHead2
        if pHead2==None:
            return pHead1
        #当两个链表都有值时
        while pHead1 and pHead2:
            #如果p1的值大于p2的值,p2的值应该进行头插
            if pHead1.val>=pHead2.val:
                z.next = pHead2
                pHead2 = pHead2.next
            #如果p1的值小于p2的值,p1后移
            else:
                z.next = pHead1
                pHead1 = pHead1.next
            z = z.next
        if pHead1:
            z.next = pHead1
        if pHead2:
            z.next = pHead2
        
        return p.next

  

剑指offer——16合并两个链表

原文:https://www.cnblogs.com/wobushangwangl/p/11460307.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!