鍊錶 3 從尾到頭列印鍊錶

2021-10-06 11:24:42 字數 906 閱讀 1421

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

# -*- coding:utf-8 -*-

# class listnode:

# def __init__(self, x):

# self.val = x

# self.next = none

class solution:

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

def printlistfromtailtohead(self, listnode):

# write code here

temp =

p = listnode

while(p):

p = p.next

return temp[::-1]

# -*- coding:utf-8 -*-

# class listnode:

# def __init__(self, x):

# self.val = x

# self.next = none

class solution:

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

def printlistfromtailtohead(self, listnode):

# write code here

ans =

def printlistnode(listnode):

if listnode:

printlistnode(listnode.next)

printlistnode(listnode)

return ans

3 從尾到頭列印鍊錶

輸入乙個鍊錶的頭結點head,從尾到頭列印鍊錶的每乙個節點。注意是從尾到頭列印鍊錶節點。因此本題有兩個解法,分別用棧和遞迴來實現。但是請注意,在用遞迴實現的時候,當鍊表長度很長時候,容易導數函式呼叫多層棧的溢位。因此,推薦使用顯式用棧的方式,其魯棒性會更好一點。劍指offer的觀點 1 利用棧,先進...

3 從尾到頭列印鍊錶

題目描述 輸入乙個鍊錶,從尾到頭列印鍊錶每個結點的值。思路 借助棧,先進後出,從頭到尾將結點指標壓入棧,然後再依次將棧頂結點的值放入vector中,pop。struct listnode class solution while stack.empty return value struct lis...

3 從尾到頭列印鍊錶

輸入乙個鍊錶,按煉錶值從尾到頭的順序返回乙個arraylist。總結 1 要首先考慮可不可以將鍊錶發生改變,如果可以,翻轉鍊錶,輸出 不可以,利用棧的特性 2 若逆序翻轉鍊錶,不用建立乙個首結點,只用用乙個指標指向null。3 逆序翻轉鍊錶將原始的head指向newhead寫法 head next ...