LeetCode初級算法--鏈表02:合并兩個有序鏈表
一、引子
這是由LeetCode官方推出的的經(jīng)典面試題目清單~
這個模塊對應(yīng)的是探索的初級算法~旨在幫助入門算法。我們第一遍刷的是leetcode推薦的題目。
二、題目
將兩個有序鏈表合并為一個新的有序鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節(jié)點組成的。
示例:
輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4
1、思路
首先我們看到的數(shù)一個有序的鏈表,所以我們可以先比較兩個鏈表長度相等的部分,按照順序進行排列,對于剩下一個鏈表的部分,直接插入到最終的鏈表中,詳細過程見代碼。
2、編程實現(xiàn)
# 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)
#返回的是合并后的列表 所以讓一個節(jié)點等于這個空的節(jié)點
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
分享技術(shù),樂享生活:我們的公眾號計算機視覺這件小事每周推送“AI”系列資訊類文章,歡迎您的關(guān)注!
本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!
審核編輯 黃昊宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
人工智能
+關(guān)注
關(guān)注
1821文章
50366瀏覽量
267041 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
67文章
8567瀏覽量
137249 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5610瀏覽量
124651
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
嵌入式春招筆試高頻算法題(附解題思路)
:通過相鄰元素兩兩比較,將較大的元素逐步“冒泡”到數(shù)組末尾,重復(fù)多次,直到整個數(shù)組有序。
步驟拆解(貼合嵌入式C語言實現(xiàn)):
外層循環(huán):控制排序輪次,共需n-1輪(n為數(shù)組長度),每輪排出一個最大
發(fā)表于 03-18 10:08
圖像上兩個多邊形的ROI區(qū)域,如何獲得這兩個ROI區(qū)域重合部分的ROI
labview中,圖像上兩個多邊形的ROI區(qū)域,如何獲得這兩個ROI區(qū)域重合部分的ROI
發(fā)表于 03-16 14:03
兩個RS485-Modbus主站如何通訊
本產(chǎn)品能很好解決Master-1主站向模塊寫入數(shù)據(jù),Master-2主站讀取數(shù)據(jù);Master-2主站向模塊寫入數(shù)據(jù),Master-1主站讀取數(shù)據(jù)。由此解決兩個主站之間的互相讀通信難題。
發(fā)表于 02-08 15:32
?0次下載
頁面導(dǎo)入導(dǎo)出功能怎么用?如何快速合并兩個工程,復(fù)制粘貼注意事項?
頁面導(dǎo)入導(dǎo)出功能怎么用?如何快速合并兩個工程,復(fù)制粘貼注意事項?
發(fā)表于 02-03 14:16
單片機常用的14個C語言算法分享
兩個有序數(shù)組A、B合并成另一個有序的數(shù)組C,升序)
基本思想:
1)先在A、B數(shù)組中各取第一個元
發(fā)表于 01-29 06:59
頁面導(dǎo)入導(dǎo)出功能怎么用?如何快速合并兩個工程,復(fù)制粘貼注意事項?
頁面導(dǎo)入導(dǎo)出功能怎么用?如何快速合并兩個工程,復(fù)制粘貼注意事項?
發(fā)表于 01-28 15:17
指針難學(xué)的4點原因分析
));
*p = 1;
return 0;
}
程序定義了一個指針變量p,前面有個*號;后面給指針p指向的內(nèi)存區(qū)域賦值1,又有個*號,這兩個*號有啥區(qū)別呢?很多初學(xué)者在這里
發(fā)表于 01-16 06:12
曙光存儲連續(xù)斬獲兩個行業(yè)獎項
近期,曙光存儲連續(xù)斬獲兩個行業(yè)獎項,自研技術(shù)產(chǎn)品在國產(chǎn)突破、AI行業(yè)應(yīng)用等方面的成果獲得廣泛關(guān)注。
無數(shù)據(jù)域雙向鏈表的代碼
下面是一個簡單的示例,演示了如何使用無數(shù)據(jù)域雙向鏈表進行插入和訪問操作:
#include
#include// 包含offsetof宏
// 定義節(jié)點結(jié)構(gòu)體
struct Node
發(fā)表于 12-11 06:56
rt_object_get_information獲取到的鏈表為空怎么解決?
rtt啟動過程,在初始化堆的時候,進入rt_object_init,調(diào)用rt_object_get_information獲取到的鏈表為空,導(dǎo)致系統(tǒng)起不來。
發(fā)表于 10-11 11:44
一個硬件SPI兩個CS操作兩個norflash,怎么互斥操作兩個norflash?
一個硬件SPI兩個CS操作兩個norflash,怎么互斥操作兩個norflash,有一個norflash被模擬成U盤,會在中斷中操作spi。
發(fā)表于 09-26 06:18
請問有辦法在嵌入式單片機上實現(xiàn)對片外Flash的數(shù)據(jù)增刪功能嗎?
時間要求, 工作時斷電如何處理. 本來想試試sqlite, 但是看介紹需要幾百K內(nèi)存, 好像不是給單片機用的, 問了AI也是給我推的FlashDB, 它的KV值是支持刪除的, 但是我需要有序索引, 像一個鏈表, 現(xiàn)在有沒有現(xiàn)成的
發(fā)表于 09-23 06:10
基本半導(dǎo)體連獲兩個行業(yè)獎項
近日,基本半導(dǎo)體憑借在碳化硅模塊領(lǐng)域的突出表現(xiàn),連獲“國產(chǎn)SiC模塊TOP企業(yè)獎”和“年度優(yōu)秀功率器件產(chǎn)品獎”兩個行業(yè)獎項。
圖中兩個按鍵開關(guān)是兩個干簧管,為什么不直接對GND設(shè)計來檢測這個干簧管通斷呢?
圖中兩個按鍵開關(guān)是兩個干簧管,為什么不直接對GND設(shè)計來檢測這個干簧管通斷呢?
這樣設(shè)計的原理是什么?
發(fā)表于 06-17 06:30
看到STM8L152用兩個IO用兩個或非門檢測兩個通斷,是什么原理呢?
圖中兩個按鍵開關(guān)是兩個干簧管,為什么不直接對GND設(shè)計來檢測這個干簧管通斷呢?
這樣設(shè)計的原理是什么?
發(fā)表于 06-12 06:25
LeetCode初級算法-鏈表02:合并兩個有序鏈表
評論