Open gdutwyg opened 5 years ago
# 普通的递归 def fact(n): if n==1: return 1 return n * fact(n - 1)
解决递归调用栈溢出的方法是通过尾递归优化
# 改造成尾递归 # 尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式,通过参数来处理 def fact(n): return fact_iter(n, 1) def fact_iter(num, product): if num == 1: return product return fact_iter(num - 1, num * product)
递归函数
解决递归调用栈溢出的方法是通过尾递归优化
递归函数