当前位置 : 主页 > 编程语言 > java >

[DnA] 递归函数技巧

来源:互联网 收集:自由互联 发布时间:2022-09-29
递归函数的应用很广泛,特别是在解决树形数据结构的问题时。但是递归函数的编写和阅读也是比较烧脑的。 有一个技巧可以帮助编写和阅读递归函数: 把递归函数当做一个空语句,


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

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

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

例子:

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 的中间,递归动作结束,从输出来看,也是入栈出栈格式。

上一篇:[DnA] dp问题(字符串编辑距离)
下一篇:没有了
网友评论