LeetCode初級算法--鏈表02:合并兩個有序鏈表
一、引子
這是由LeetCode官方推出的的經典面試題目清單~
這個模塊對應的是探索的初級算法~旨在幫助入門算法。我們第一遍刷的是leetcode推薦的題目。
二、題目
將兩個有序鏈表合并為一個新的有序鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。
示例:
輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4
1、思路
首先我們看到的數一個有序的鏈表,所以我們可以先比較兩個鏈表長度相等的部分,按照順序進行排列,對于剩下一個鏈表的部分,直接插入到最終的鏈表中,詳細過程見代碼。
2、編程實現
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def mergeTwoLists(self, l1, l2):
"""
:type l1: ListNode
:type l2: ListNode
:rtype: ListNode
"""
new_head = ListNode(0)
#返回的是合并后的列表 所以讓一個節點等于這個空的節點
pHead = new_head
#進行排序
while l1 and l2:
if l1.val > l2.val:
new_head.next = l2
l2 = l2.next
else:
new_head.next = l1
l1 = l1.next
new_head = new_head.next
# 遍歷剩下沒遍歷的列表
if l1:
new_head.next = l1
elif l2:
new_head.next = l2
return pHead.next
分享技術,樂享生活:我們的公眾號計算機視覺這件小事每周推送“AI”系列資訊類文章,歡迎您的關注!
本文由博客一文多發平臺 OpenWrite 發布!
審核編輯 黃昊宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
人工智能
+關注
關注
1817文章
50094瀏覽量
265300 -
機器學習
+關注
關注
66文章
8553瀏覽量
136931 -
深度學習
+關注
關注
73文章
5598瀏覽量
124396
發布評論請先 登錄
相關推薦
熱點推薦
兩個RS485-Modbus主站如何通訊
本產品能很好解決Master-1主站向模塊寫入數據,Master-2主站讀取數據;Master-2主站向模塊寫入數據,Master-1主站讀取數據。由此解決兩個主站之間的互相讀通信難題。
發表于 02-08 15:32
?0次下載
指針難學的4點原因分析
));
*p = 1;
return 0;
}
程序定義了一個指針變量p,前面有個*號;后面給指針p指向的內存區域賦值1,又有個*號,這兩個*號有啥區別呢?很多初學者在這里
發表于 01-16 06:12
無數據域雙向鏈表的代碼
下面是一個簡單的示例,演示了如何使用無數據域雙向鏈表進行插入和訪問操作:
#include
#include// 包含offsetof宏
// 定義節點結構體
struct Node
發表于 12-11 06:56
實現一個嵌入式的軟件定時器
,一般可分為兩種:數組結構和鏈表結構。什么意思呢?這是(多個)軟件定時器在內存中的存儲方式,可以用數組來存,也可以用鏈表來存。
兩者的優劣之分就是
發表于 12-10 08:29
rt_object_get_information獲取到的鏈表為空怎么解決?
rtt啟動過程,在初始化堆的時候,進入rt_object_init,調用rt_object_get_information獲取到的鏈表為空,導致系統起不來。
發表于 10-11 11:44
一個硬件SPI兩個CS操作兩個norflash,怎么互斥操作兩個norflash?
一個硬件SPI兩個CS操作兩個norflash,怎么互斥操作兩個norflash,有一個norflash被模擬成U盤,會在中斷中操作spi。
發表于 09-26 06:18
請問有辦法在嵌入式單片機上實現對片外Flash的數據增刪功能嗎?
時間要求, 工作時斷電如何處理. 本來想試試sqlite, 但是看介紹需要幾百K內存, 好像不是給單片機用的, 問了AI也是給我推的FlashDB, 它的KV值是支持刪除的, 但是我需要有序索引, 像一個鏈表, 現在有沒有現成的
發表于 09-23 06:10
基本半導體連獲兩個行業獎項
近日,基本半導體憑借在碳化硅模塊領域的突出表現,連獲“國產SiC模塊TOP企業獎”和“年度優秀功率器件產品獎”兩個行業獎項。
圖中兩個按鍵開關是兩個干簧管,為什么不直接對GND設計來檢測這個干簧管通斷呢?
圖中兩個按鍵開關是兩個干簧管,為什么不直接對GND設計來檢測這個干簧管通斷呢?
這樣設計的原理是什么?
發表于 06-17 06:30
看到STM8L152用兩個IO用兩個或非門檢測兩個通斷,是什么原理呢?
圖中兩個按鍵開關是兩個干簧管,為什么不直接對GND設計來檢測這個干簧管通斷呢?
這樣設計的原理是什么?
發表于 06-12 06:25
蛙跳算法驅動,重塑電動汽車有序充電革新路徑
挑戰。因此,研究電動汽車有序充電策略具有重要的現實意義。 近年來,國內外學者在電動汽車有序充電領域開展了廣泛研究。主要方法包括基于電價引導的策略、分層優化方法和智能算法等。其中,智能算法
LeetCode初級算法-鏈表02:合并兩個有序鏈表
評論