劍指offer刷題(三)從尾到頭列印鍊錶

2021-10-03 14:54:58 字數 827 閱讀 8554

題目

輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個arraylist。

思路1

建立乙個列表,把煉表裡的元素從頭到尾依次放入列表中,然後反轉列表

class

solution

:# 返回從尾部到頭部的列表值序列,例如[1,2,3]

defprintlistfromtailtohead

(self, listnode)

:# write code here

arraylist =

while listnode:

listnode = listnode.

next

arraylist.reverse(

)return arraylist

思路2(遞迴)

class

solution

:# 返回從尾部到頭部的列表值序列,例如[1,2,3]

def__init__

(self)

: self.arraylist =

defprintlistfromtailtohead

(self, listnode)

:# write code here

if listnode :

self.printlistfromtailtohead(listnode.

next

)#會遞迴到最後乙個值

return self.arraylist

劍指Offer(三) 從尾到頭列印鍊錶

刷題平台 牛客網 輸入乙個鍊錶,返回乙個反序的鍊錶。通常,這種情況下,我們不希望修改原鍊錶的結構。返回乙個反序的鍊錶,這就是經典的 後進先出 我們可以使用棧實現這種順序。每經過乙個結點的時候,把該結點放到乙個棧中。當遍歷完整個鍊錶後,再從棧頂開始逐個輸出結點的值,給乙個新的鍊錶結構,這樣鍊錶就實現了...

劍指Offer刷題 06 從尾到頭列印鍊錶

難度 簡單 題目描述 輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。注 此題考查鍊錶的知識點 思路1 利用棧 先進後出的特性 輔助輸出。源於劍指offer struct listnode class solution 輸出棧中元素 從尾都頭列印 while nodes.empty return res...

劍指 offer 刷題 06 從尾到頭列印鍊錶

輸入乙個鍊錶的頭節點,從尾到頭反過來返回每個節點的值 用陣列返回 示例 1 輸入 head 1,3,2 輸出 2,3,1 限制 0 鍊錶長度 10000要列印鍊錶,就要遍歷鍊錶,而單鏈表的指標只有指向下乙個節點的引用,沒有指向前乙個節點的引用,所以我們無法通過反向遍歷鍊錶來實現從尾到頭列印鍊錶。遍歷...