学堂 学堂 学堂公众号手机端

[DnA] 递归函数技巧

lewis 1年前 (2024-04-19) 阅读数 14 #技术


递归函数的应用很广泛,特别是在解决树形数据结构的问题时。但是递归函数的编写和阅读也是比较烧脑的。

有一个技巧可以帮助编写和阅读递归函数:


把递归函数当做一个空语句,前面的代码会被集中地依次执行,后面的代码也会被集中地依次执行

例子:

def func(n):
if n==0:
return

print("before"+str(n))
func(n-1)
print("after"+str(n))


func(10)

输出:

before10
before9
before8
before7
before6
before5
before4
before3
before2
before1
after1
after2
after3
after4
after5
after6
after7
after8
after9
after10

在before1 和 after1 的中间,递归动作结束,从输出来看,也是入栈出栈格式。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门