輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值
class
listnode
(object):
def__init__
(self,val=
none):
self.val = val
self.
next
=none
defmakelinkedlist
(*args)
: temp = listnode(
) head = temp
for x in args:
temp.
next
= listnode(x)
temp = temp.
next
print(id
(head),id
(temp)
)return head.
next
defprintfromtailtohead
(listnode)
: res =
if listnode==
none
:return res
elif listnode.
next
==none
:else
:while listnode.
next
: listnode = listnode.
next
return res[::
-1]# a = listnode(1)
# b = listnode(2)
# c = listnode(3)
# d = listnode(4)
# a.next = b
# b.next = c
# c.next = d
head = makelinkedlist(1,
2,3,
4)print
(printfromtailtohead(head)
)
# class listnode:
# def __init__(self,val):
# self.val = val
# self.next = none
#其他的就同上,省略
class
solution
:list=[
]def
print_from_tail_to_head
(listnode)
:if listnode:
print_from_tail_to_head(listnode.
next
)list
return
list
#這個list其實可有可無,其實外面的list已經是了,solution().list就可以顯示 了
6 從尾到頭列印鍊錶
輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個arraylist。思路一 從未到頭 輸出 先出 棧,建立乙個棧,遍歷鍊錶壓入棧,再彈出 思路三 呼叫庫函式,1 vertor自帶函式,頭插insert res.begin val 好像效率不高 2 尾插push back 再用reverse 反轉 vect...
6題從尾到頭列印鍊錶
題目描述 輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個arraylist。思路一 反轉鍊錶,但是也改變了原鍊錶的結構 vector int printlistfromtailtohead listnode head while left nullptr return result 思路二 採用遞迴的方...
從尾到頭列印鍊錶
題目描述 輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。輸入 每個輸入檔案僅包含一組測試樣例。每一組測試案例包含多行,每行乙個大於0的整數,代表乙個鍊錶的節點。第一行是鍊錶第乙個節點的值,依次類推。當輸入到 1時代表鍊錶輸入完畢。1本身不屬於鍊錶。輸出 對應每個測試案例,以從尾到頭的順序輸出鍊錶每個節...