折纸问题

折纸的次数 ------ 从上到下的折痕

本质上是中序遍历的问题,因为每一次在已有的折痕后折的时候,当前折痕上的折痕一定为凹,当前折痕下的折痕一定为凸。实际模拟了一个不存在的二叉树结构的中序遍历。

注:折纸折几次整颗二叉树就有多少层

java 复制代码
package binarytree;

public class PaperFolding {

    //i为当前层数,n为折纸次数
    //down==true为凹,down==false为凸
    public static void printProcess(int i, int n, boolean down) {
        if (i > n) {//整颗二叉树i==n
            return;
        }

        printProcess(i + 1, n, true);//凹

        //中序遍历,第二次遍历时打印
        if (down == true) {
            System.out.print("凹");
        } else {
            System.out.print("凸");
        }

        printProcess(i + 1, n, false);//凸
    }


    public static void main(String[] args) {
        int n = 3;
        printProcess(1, n, true);//从第一层开始,第一个折痕为凹痕
    }

}
相关推荐
逻辑驱动的ken13 小时前
Java高频面试考点场景题09
java·开发语言·数据库·算法·oracle·哈希算法·散列表
帅小伙―苏13 小时前
力扣42接雨水
前端·算法·leetcode
AI科技星14 小时前
精细结构常数α的几何本源:从第一性原理的求导证明、量纲分析与全域验证
算法·机器学习·数学建模·数据挖掘·量子计算
6Hzlia14 小时前
【Hot 100 刷题计划】 LeetCode 287. 寻找重复数 | C++ 数组判环 (快慢指针终极解法)
c++·算法·leetcode
MegaDataFlowers14 小时前
26.删除有序数组中的重复项
算法
码完就睡15 小时前
数据结构——栈和队列的相互模拟
数据结构
iiiiyu15 小时前
常用API(SimpleDateFormat类 & Calendar类 & JDK8日期 时间 日期时间 & JDK8日期(时区) )
java·大数据·开发语言·数据结构·编程语言
故事和你9115 小时前
洛谷-数据结构1-4-图的基本应用2
开发语言·数据结构·算法·深度优先·动态规划·图论
吴可可12315 小时前
C#合并首尾相连多段线实战
算法·c#
KMDxiaozuanfeng16 小时前
卡梅德生物技术快报|SPR 技术应用|基于 SPR 亲和力的中药活性成分筛选系统实现与数据分析
科技·算法·面试·考试