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

mac2026-01-22  6

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

一、前言

最近开始刷剑指offer,记录一下。牛客网在线编程板块的剑指offer专区。 牛客网剑指offer:传送门 或者点击下方链接。 https://www.nowcoder.com/ta/coding-interviews

二、题目描述

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

三、代码

# -*- 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 # 需要四个指针 # 1、判断边界条件 if pHead1 == None: return pHead2 if pHead2 == None: return pHead1 # 2、判断头指针 newHead = pHead1 if pHead1.val < pHead2.val else pHead2 pTmp1 = pHead1 pTmp2 = pHead2 if newHead == pTmp1: pTmp1=pTmp1.next else: pTmp2=pTmp2.next previousPoint=newHead while pTmp1 and pTmp2: if pTmp1.val < pTmp2.val: previousPoint.next = pTmp1 previousPoint=pTmp1 pTmp1=pTmp1.next else: previousPoint.next = pTmp2 previousPoint=pTmp2 pTmp2=pTmp2.next if pTmp1 == None: previousPoint.next = pTmp2 else: previousPoint.next= pTmp1 return newHead

最新回复(0)