題目
輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個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要列印鍊錶,就要遍歷鍊錶,而單鏈表的指標只有指向下乙個節點的引用,沒有指向前乙個節點的引用,所以我們無法通過反向遍歷鍊錶來實現從尾到頭列印鍊錶。遍歷...