python如何實(shí)現(xiàn)單向鏈表及單向鏈表的反轉(zhuǎn)
鏈表的定義
鏈表中的每個(gè)節(jié)點(diǎn)會(huì)存儲(chǔ)相鄰節(jié)點(diǎn)的位置信息,單鏈表中的每個(gè)節(jié)點(diǎn)只存儲(chǔ)下一關(guān)節(jié)點(diǎn)的位置信息

單向鏈表的實(shí)現(xiàn)
class ListNode:
def __init__(self, val):
self.val = val
self.next = None
要實(shí)現(xiàn)單向鏈表只需要把幾個(gè)節(jié)點(diǎn)關(guān)聯(lián)起來(lái)就可以了,把一個(gè)節(jié)點(diǎn)的next設(shè)置為另一個(gè)節(jié)點(diǎn)就可以了,例如創(chuàng)建一個(gè)A->B->C 的單向鏈表可以這么寫(xiě):
first_node = ListNode("A")
second_node = ListNode("B")
third_node = ListNode("C")
first_node.next = second_node
second_node.next = third_noe
first_node 就是這個(gè)鏈表的表頭,他們3個(gè)一起組成了一個(gè)單向鏈表
單向鏈表反轉(zhuǎn)
class Solution:
def reverse(self, head):
prev = None
current = head
while current:
middle, current.next = current.next, prev
prev, current = current, middle
return prev
反轉(zhuǎn)的時(shí)候,先實(shí)例化Solution對(duì)象,然后調(diào)用reverse函數(shù)把鏈表的表頭first_node 傳進(jìn)去:
solution = Solution() result = solution.reverse(first_node)
如果你想查看這個(gè)鏈表的內(nèi)容順序,可以這樣寫(xiě):
print(result.val, result.next.val, result.next.next.val)
終端輸出結(jié)果為CBA,符合要求
以上就是python如何實(shí)現(xiàn)單向鏈表及單向鏈表的反轉(zhuǎn)的詳細(xì)內(nèi)容,更多關(guān)于python 單向鏈表的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
pycharm第三方庫(kù)安裝失敗的問(wèn)題及解決經(jīng)驗(yàn)分享
這篇文章主要介紹了pycharm第三方庫(kù)安裝失敗的解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
OpenCV圖像修復(fù)cv2.inpaint()的使用
這篇博客將介紹如何通過(guò)OpenCV中圖像修復(fù)的技術(shù)——cv2.inpaint() 去除舊照片中的小噪音、筆劃等。并提供一個(gè)可交互式的程序,感興趣的可以了解一下2021-08-08
Python利用Turtle庫(kù)繪制一顆櫻花樹(shù)
后唐李煜曾說(shuō)道,櫻花落盡春將困,秋千架下歸時(shí)。漏暗斜月遲遲,花在枝。櫻花落盡的時(shí)候春天也將過(guò)去了,秋千架下歸去時(shí)。天上的斜月姍姍來(lái)遲,花還在枝頭。本文將用Python+Turtle繪制一顆櫻花樹(shù),感興趣的可以嘗試一下2022-04-04
python使用urllib2實(shí)現(xiàn)發(fā)送帶cookie的請(qǐng)求
這篇文章主要介紹了python使用urllib2實(shí)現(xiàn)發(fā)送帶cookie的請(qǐng)求,涉及Python操作cookie的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
NDArray 與 numpy.ndarray 互相轉(zhuǎn)換方式
這篇文章主要介紹了NDArray 與 numpy.ndarray 互相轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
基于python OpenCV實(shí)現(xiàn)動(dòng)態(tài)人臉檢測(cè)
這篇文章主要為大家詳細(xì)介紹了基于python OpenCV實(shí)現(xiàn)動(dòng)態(tài)人臉檢測(cè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05

