python如何實現(xiàn)單向鏈表及單向鏈表的反轉(zhuǎn)
鏈表中的每個節(jié)點會存儲相鄰節(jié)點的位置信息,單鏈表中的每個節(jié)點只存儲下一關(guān)節(jié)點的位置信息
class ListNode: def __init__(self, val): self.val = val self.next = None
要實現(xiàn)單向鏈表只需要把幾個節(jié)點關(guān)聯(lián)起來就可以了,把一個節(jié)點的next設(shè)置為另一個節(jié)點就可以了,例如創(chuàng)建一個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 就是這個鏈表的表頭,他們3個一起組成了一個單向鏈表
單向鏈表反轉(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)的時候,先實例化Solution對象,然后調(diào)用reverse函數(shù)把鏈表的表頭first_node 傳進(jìn)去:
solution = Solution()result = solution.reverse(first_node)
如果你想查看這個鏈表的內(nèi)容順序,可以這樣寫:
print(result.val, result.next.val, result.next.next.val)
終端輸出結(jié)果為CBA,符合要求
以上就是python如何實現(xiàn)單向鏈表及單向鏈表的反轉(zhuǎn)的詳細(xì)內(nèi)容,更多關(guān)于python 單向鏈表的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 利用promise及參數(shù)解構(gòu)封裝ajax請求的方法2. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明3. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向4. .NET中l(wèi)ambda表達(dá)式合并問題及解決方法5. PHP設(shè)計模式中工廠模式深入詳解6. JSP數(shù)據(jù)交互實現(xiàn)過程解析7. windows服務(wù)器使用IIS時thinkphp搜索中文無效問題8. ThinkPHP5實現(xiàn)JWT Token認(rèn)證的過程(親測可用)9. 如何基于Python Matplotlib實現(xiàn)網(wǎng)格動畫10. Ajax實現(xiàn)表格中信息不刷新頁面進(jìn)行更新數(shù)據(jù)
