一、迭代實現
思路:將鍊錶的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...