從尾到頭反過來列印出每個結點的值。
要逆序列印鍊錶 1->2->3(3,2,1),可以先逆序列印鍊錶 2->3(3,2),最後再列印第乙個節點 1。而鍊錶 2->3 可以看成乙個新的鍊錶,要逆序列印該鍊錶可以繼續使用求解函式,也就是在求解函式中呼叫自己,這就是遞迴函式。
class
solution
:# 返回從尾部到頭部的列表值序列,例如[1,2,3]
defprintlistfromtailtohead
(self, listnode)
:# write code here
ret =
if listnode !=
none
: ret.extend(self.printlistfromtailtohead(listnode.
next))
return ret
# class listnode:
# def __init__(self, x):
# self.val = x
# self.next = none
class
solution
:# 返回從尾部到頭部的列表值序列,例如[1,2,3]
defprintlistfromtailtohead
(self, listnode)
:# write code here
lis =
dummy = listnode(0)
dummy.
next
= listnode
while dummy.
next
!=none
:next
.val)
dummy = dummy.
next
return lis[::-1]
劍指offer(Python)替換空格
這道題要求是 將乙個字串中的空格替換成 20 有多少個空格就替換成多少個 20 例如 hello world 中間有兩個空格,則需要輸出的形式是 hello 20 20world 字串首尾的空格亦算在內。class solution def replacespace self,s return 20...
劍指offer Python 替換空格
請實現乙個函式,將乙個字串中的每個空格替換成 20 python字串,有replace方法,可以實現替換,第乙個引數是要替換的內容,第二個引數是替換的新內容 能夠快速完成,果然python作為一種高階語言,不太適合做演算法 但是 replace 相當於 insert 在替換 時,會將原字串元素的位置...
《劍指offer》python 動態規劃
動態規劃是利用空間去換取時間的演算法.主要看 1.初始條件 2.重疊子問題 3.狀態轉移方程 題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 coding utf 8 class solution def jumpfloo...