如下是馬哥教育Python網絡班企業教練思路:python
粗看這個題的話,很容易實現的:int 轉成str ,而後倒序,再把列表裏面的 str 轉成 int。
網絡
再來看遞歸實現思路:
通常遞歸裏面都是要有個結束條件,這個題的結束條件也很好肯定,它是這個列表,列表有長度,每次pop 一個 元素,直到列表的長度 等於 0 的時候,那就能夠結束了。先來看個普通的遞歸方法:app
def reverse_order_list1(lst:list, tmp=[]): if len(lst) == 0: return tmp num = lst.pop() tmp.append(int(num)) return reverse_order_list1(lst, tmp=tmp)print(reverse_order_list1(list(str(1234))))
再來個尾遞歸方法:ide
def reverse_order_list2(lst:list, tmp=[]): if len(lst) > 0: num = lst.pop() tmp.append(int(num)) reverse_order_list2(lst,tmp=tmp) return tmpprint(reverse_order_list2(list(str(1234))))
python 裏面建議最好不要使用遞歸,通常能的遞歸均可以用for 來實現,不過有些場景下,用遞歸會更方便一些。spa