递归算法

递归的基本思想就是--自己调用自己, 利用递归可以用简单的程序解决复杂的问题. 

递归结构包括两个部分:

  • 定义递归头: 解决什么时候不调用自身的方法, 如果没有头, 则陷入死循环, 也就是递归借宿的条件
  • 递归体:什么时候需要调用自身的方法
 1 import os
 2 allfiles = []
 3 def getAllFiles(path,level):
 4     childFiles = os.listdir(path)
 5     for file in childFiles:
 6         filepath = os.path.join(path,file)
 7         if os.path.isdir(filepath):
 8             getAllFiles(filepath,level+1)
 9             allfiles.append('\t'*level+filepath)
10 
11 getAllFiles('movi',0)
12 for f in reversed(allfiles):
13     print(f)