其他分享
首页 > 其他分享> > 纸条对折折痕打印

纸条对折折痕打印

作者:互联网

问题描述:一条纸条,对折N次,折痕朝向有凹有凸,从左到右依次输出折痕

解题思路:假设对折一次的折痕记为“凹”,对折N次会发现,折痕会形成左子树都为“凹”,右子树都为“凸”的二叉树,最终遍历的结果,为折痕形成树形结构的中序遍历结果。

 1 def print_all_folds(n):
 2     print_process(1, n, True)
 3 
 4 def print_process(i, n, down):
 5     """
 6     i为节点的层数
 7     n为总层数
 8     down==true 凹;down==false 凸
 9     """
10     if i > n:
11         return
12     print_process(i+1, n, True)
13     if down:
14         print("凹")
15     else:
16         print("凸")
17     print_process(i+1, n, False)

 

标签:process,纸条,down,对折,print,True,折痕
来源: https://www.cnblogs.com/BigPeng965/p/15808151.html