剑指offer 合并两个排序的链表

题目

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

思路

同时遍历两个链表,把小的结点取出,加入新链表。

代码

# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:
    # 返回合并后列表
    def Merge(self, pHead1, pHead2):
        # write code here
         # write code here
        preNode = ListNode(0)
        pre = preNode
        node = preNode.next
        while pHead1 and pHead2:
            if pHead1.val < pHead2.val:
                node = pHead1
                pHead1 = pHead1.next
            else:
                node = pHead2
                pHead2 = pHead2.next
            pre.next = node
            pre = node
        while pHead1:
            node = pHead1
            pre.next = node
            pre = node
            pHead1 = pHead1.next
        while pHead2:
            node = pHead2
            pre.next = node
            pre = node
            pHead2 = pHead2.next
        return preNode.next

猜你喜欢

转载自blog.csdn.net/y12345678904/article/details/80735275