新聞中心
本篇文章重點(diǎn)為大家分享一下python實(shí)現(xiàn)單向鏈表及單向鏈表的反轉(zhuǎn)具體方法,有需要的小伙伴可以參考一下。

我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、蘿北ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的蘿北網(wǎng)站制作公司
鏈表的定義
鏈表中的每個(gè)節(jié)點(diǎn)會(huì)存儲(chǔ)相鄰節(jié)點(diǎn)的位置信息,單鏈表中的每個(gè)節(jié)點(diǎn)只存儲(chǔ)下一關(guān)節(jié)點(diǎn)的位置信息
簡單介紹python如何實(shí)現(xiàn)單向鏈表及單向鏈表的反轉(zhuǎn)簡單介紹python如何實(shí)現(xiàn)單向鏈表及單向鏈表的反轉(zhuǎ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)起來就可以了,把一個(gè)節(jié)點(diǎn)的next設(shè)置為另一個(gè)節(jié)點(diǎn)就可以了,例如創(chuàng)建一個(gè)A->B->C 的單向鏈表可以這么寫:
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對象,然后調(diào)用reverse函數(shù)把鏈表的表頭first_node 傳進(jìn)去:
solution = Solution()
result = solution.reverse(first_node)
如果你想查看這個(gè)鏈表的內(nèi)容順序,可以這樣寫:
print(result.val, result.next.val, result.next.next.val)
終端輸出結(jié)果為CBA,符合要求
以上就是python如何實(shí)現(xiàn)單向鏈表及單向鏈表的反轉(zhuǎn)的詳細(xì)內(nèi)容。
分享文章:python實(shí)現(xiàn)單向鏈表及單向鏈表的反轉(zhuǎn)具體方法
本文URL:http://www.dlmjj.cn/article/dpijspo.html


咨詢
建站咨詢
