6 從尾到頭列印鍊錶

2021-09-28 19:20:02 字數 1466 閱讀 8087

輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值

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本身不屬於鍊錶。輸出 對應每個測試案例,以從尾到頭的順序輸出鍊錶每個節...