輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個arraylist。
這個題目沒有說清楚到底返回的是什麼,在**當中傳入進來的值是乙個node物件,也就是鍊錶當中的乙個節點,它具有兩個值,乙個值是它本身所具有的值,另外乙個值則是它所指向的下乙個節點的位址,我們只要通過利用這個next指向下乙個node的屬性,就可以很好的得到每乙個節點所具有的值。然後題目當中隱含的意思是讓我們返回乙個從尾到頭的鍊錶的值所組成的鍊錶,而不是把一系列鍊錶物件倒過來。因此**非常簡單,如下所示:
#-*- coding:utf-8 -*-
#class listnode:
#def __init__(self, x):
#self.val = x
#self.next = none
class
solution:
#返回從尾部到頭部的列表值序列,例如[1,2,3]
#這個題目沒有把條件說清楚,因此有很多種可能啊!
#listnode不是一連串的node而是node的頭....
defprintlistfromtailtohead(self, listnode):
#write code here
ls=while
listnode:
listnode=listnode.next
ls_two=
i=len(ls)-1
while i>=0:
i-=1
return ls_two
分分鐘求解掉。
從尾到頭列印單鏈表(劍指offer面試題5)
題目 輸入乙個鍊錶的頭結點,從尾到頭反過來列印出每個結點的值。分析 此題考察單鏈表的理解和應用,為了實現列印,必須先建立乙個單鏈表,頭結點可有可無,但有頭結點和無頭結點在程式設計上是應該注意的,反向列印思路不一樣,這裡以包含頭結點舉例分析,單鏈表以尾部插入方式建立,頭結點資料域為空,頭結點指標指向下...
劍指Offer 面試題五 從尾到頭列印鍊錶
鍊錶的建立 結點的插入 結點的刪除等操作都只需要20行左右的 就能實現,其 量比較適合面試。鍊錶問題 面試題5 從尾到頭輸出鍊錶 面試題13 在o 1 時間刪除鍊錶結點 面試題15 鍊錶中的倒數第k個結點 面試題16 反轉鍊錶 面試題17 合併兩個排序的鍊錶 面試題37 兩個鍊錶的第乙個公共結點 面...
劍指Offer 面試題5 從尾到頭列印鍊錶
題目 輸入乙個鍊錶的頭結點,從尾到頭反過來列印每個節點的值.分析1 通常,列印是乙個唯讀操作,我們不希望列印的同時去修改原資料的內容.故我們不能改變鍊錶的結構.解決這個問題肯定是需要遍歷鍊錶的,但是遍歷的順序是從頭到尾的,可輸出的順序確實從尾到頭,也就是說第乙個遍歷到的節點最後乙個輸出,最後乙個遍歷...