面試題25:合并兩個排序的鏈表

題目描述

輸入兩個單調(diào)遞增的鏈表,輸出兩個鏈表合成后的鏈表,當然我們需要合成后的鏈表滿足單調(diào)不減規(guī)則。

知識點

鏈表,歸并


Qiang的思路

顯然,這道題是一個歸并問題,與歸并排序中的歸并過程不同的是對鏈表進行歸并。但是可以采取相同的思路實現(xiàn)。

首先遍歷兩個鏈表,當有一個為空時停止遍歷,然后分別去遍歷兩個鏈表,最后完成歸并。

# -*- 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
        head=ListNode(None)
        result=head
        while pHead1!=None and pHead2!=None:
            if pHead1.val<pHead2.val:
                head.next=pHead1
                head=head.next
                pHead1=pHead1.next
            else:
                head.next=pHead2
                head=head.next
                pHead2=pHead2.next
        while pHead1!=None:
            head.next=pHead1
            head=head.next
            pHead1=pHead1.next
        while pHead2!=None:
            head.next=pHead2
            head=head.next
            pHead2=pHead2.next
        return result.next

作者原創(chuàng),如需轉(zhuǎn)載及其他問題請郵箱聯(lián)系:lwqiang_chn@163.com
個人網(wǎng)站:https://www.myqiang.top。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容