Python之單鏈表的翻轉

2021-10-03 05:37:32 字數 724 閱讀 2656

給定乙個鍊錶,將該鍊錶翻轉,並返回頭結點

#鍊錶的翻轉

class

node

:def

__init__

(self,val=

none):

self.val = val

self.

next

=none

class

linklist

:def

__init__

(self)

: self.head = node(

)def

fanzhuan1

(self)

: phead = self.head #頭結點

ifnot phead or

not phead.

next

:return phead

last =

none

#上乙個節點

while phead:

tmp = phead.

next

#用乙個變數將下乙個節點暫存起來

phead.

next

= last #將節點翻轉

last = phead #讓last,phead依次向後移動乙個節點,繼續下一次的指標反轉

phead = tmp

return last

單鏈表的翻轉python

反轉鍊錶 輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。筆記 看到第一思路是用list做,結果一直出錯,看了高分回答不太理解,找了資料,直到找到最詳細的 部落格,感謝大神 如何把乙個單鏈表進行反轉?方法1 將單鏈表儲存為陣列,然後按照陣列的索引逆序進行反轉。方法3 從第2個節點到第n個節點,依次逐節點...

單鏈表翻轉

關於單鏈表的翻轉問題頗為困擾人。下面寫的程式只需遍歷每個節點一次,並且不需要構造輔助接點 通過new的方式 另外這個問題可以轉換為乙個迴圈鍊錶結構,很有意思。h struct node class cdatastruct cpp檔案 cdatastruct cdatastruct void cdat...

單鏈表翻轉

1,原理 使用p和q兩個指標配合工作,使得兩個節點間的指向反向,同時用r記錄剩下的鍊錶。p head q head next head next null 現在進入迴圈體,這是第一次迴圈。r q next q next p p q q r 第二次迴圈。r q next q next p p q q ...