python 反轉鍊錶

2022-07-06 20:42:11 字數 646 閱讀 4710

一、迭代實現

思路:將鍊錶的next節點儲存起來 temp=cur.next

將鍊錶的next指標指向前乙個節點 cur.next=pre

將鍊錶後移 pre=cur

cur=temp

最後呼叫頭 return pre

def f(head:listnode):

cur=head

pre=none

while cur:

temp=cur.next

cur.next=pre

pre=cur

cur=temp

return pre

二、遞迴實現

思路:0-n的鍊錶 k+1到n的鍊錶已經反轉,到k的節點,需要實現k的next節點指向k,即k.next.next=k

特殊情況 k為1的時候,指向none

def f(head:listnode):

if head==none or head.next==none:

return head

p = f(head.next)

head.next.next=head

head.next=none

return p

python 鍊錶反轉

definition of listnode class listnode object def init self,val,next none self.val val self.next next class solution param node n return the new head o...

24 反轉鍊錶 python

題目 定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。def reverse list head if not head or not head.next return head rear head p head.next if p.next none p.next rear...

Python實現反轉鍊錶

將鍊錶進行反轉 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null 其實 的實現原理很簡單,只需要按照下面幾個步驟即可實現鍊錶的反 儲存上乙個節點的節點資訊 繼續處理後面的節點 class listnode def init self,val,next none ifisinst...