由於堆棧的機制,壹般遞歸可以將壹些變量保留在歷史狀態,比如妳提到的return x * power...但是有些可能很龐大或者太深的問題需要盡量避免,因為堆棧可能會溢出。還有壹個問題就是~ ~python不支持尾部遞歸優化!!!!所以~盡量避免遞歸。
定義功率(x,n)
如果n & lt0:
返回1
返回x *冪(x,n - 1)
電源(3,3)
3 *冪(3,2)
3 * (3 *冪(3,1))
3 * (3 * (3 *冪(3,0)))
3 * (3 * (3 * 1))其中n = 0,返回1。
3 * (3 * 3)
3 * 9
27
當函數參數n=0時,開始退~直到第壹次呼功結束。