折纸问题

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

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

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

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);//从第一层开始,第一个折痕为凹痕
    }

}
相关推荐
_深海凉_6 分钟前
LeetCode热题100-对称二叉树
算法·leetcode·职场和发展
瑞华丽PLM11 分钟前
瑞华丽工业软件研发效能全景展示
人工智能·算法·cae·工业软件·国产软件·瑞华丽plm·瑞华丽
运筹vivo@14 分钟前
两数之和(leetcode)
算法·leetcode·职场和发展
吃好睡好便好21 分钟前
在Matlab中绘制二维等高线图
开发语言·人工智能·学习·算法·matlab
Mr_pyx26 分钟前
LeetCode Hot 100 - 最长递增子序列完全题解
算法·leetcode·职场和发展
Mr_pyx27 分钟前
LeetCode Hot 100 - 爬楼梯完全题解
算法·动态规划
z2005093032 分钟前
今日算法: 二叉搜索树
算法
蝈理塘(/_\)大怨种34 分钟前
快速排序的递归与非递归实现
数据结构·算法
吴可可12344 分钟前
用Bulge保持多段线圆弧连续性
算法·c#
qq_296553271 小时前
矩阵逆时针旋转90度:三种解法从入门到精通
数据结构·python·算法·面试·矩阵