折纸折痕问题

题目描述:
将一张纸连续对折n次,从上到下依次打印折痕的类型(分为凹凸两个类型)

 

解析:

* 对于第1次对折会在中间出现一个凹折痕迹
* 对于之后次数的对折,会在上一次折合的上方出现一个凹折痕,下方出现一个凸折痕
*
* 所以可以把该模型转换为二叉树:
* 在每棵树的左子树加上凹折痕,右子树加上凸折痕,中序遍历即可得到结果

 

代码:

复制代码
 1 public static void printProcess(int N) {
 2         process(1,N,true);
 3     }
 4     
 5     public static void process(int i,int N,boolean down) {
 6         if (i > N) {//超过树的层数
 7             return;
 8         }
 9         process(i + 1,N,true);
10         System.out.print(down == true ? "凹":"凸");
11         process(i + 1,N,false);
12     }
复制代码

 

posted @   jue1e0  阅读(142)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
点击右上角即可分享
微信分享提示