刷題平台:牛客網
輸入乙個鍊錶,返回乙個反序的鍊錶。
通常,這種情況下,我們不希望修改原鍊錶的結構。返回乙個反序的鍊錶,這就是經典的「後進先出」,我們可以使用棧實現這種順序。每經過乙個結點的時候,把該結點放到乙個棧中。當遍歷完整個鍊錶後,再從棧頂開始逐個輸出結點的值,給乙個新的鍊錶結構,這樣鍊錶就實現了反轉。
python:
直接使用列表的插入方法,每次插入資料,只插入在首位。
#-*- coding:utf-8 -*-
#class listnode:
#def __init__(self, x):
#self.val = x
#self.next = none
class
solution:
#返回從尾部到頭部的列表值序列,例如[1,2,3]
defprintlistfromtailtohead(self, listnode):
#write code here
result =
while
listnode:
result.insert(0, listnode.val)
listnode =listnode.next
return result
劍指offer刷題(三)從尾到頭列印鍊錶
題目 輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個arraylist。思路1 建立乙個列表,把煉表裡的元素從頭到尾依次放入列表中,然後反轉列表 class solution 返回從尾部到頭部的列表值序列,例如 1,2,3 defprintlistfromtailtohead self,listnode...
劍指Offer 從尾到頭列印鍊錶
題目1511 從尾到頭列印鍊錶 時間限制 1 秒 記憶體限制 128 兆 特殊判題 否 提交 1082 解決 350 題目描述 輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。輸入 每個輸入檔案僅包含一組測試樣例。每一組測試案例包含多行,每行乙個大於0的整數,代表乙個鍊錶的節點。第一行是鍊錶第乙個節點的...
劍指offer 從尾到頭列印鍊錶
輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。輸入描述 輸入為鍊錶的表頭 輸出描述 輸出為需要列印的 新鍊錶 的表頭 分析 題目本意是用的棧結構的先入後出,但是有了容器類的高階方法之後,使用棧的意義就不大了。c struct listnode class solution listnode p hea...