二叉树经典面试题—折纸

与其明天开始,不如现在行动!

文章目录

    • 1 折纸问题
      • 1.1 解决思路
      • 1.2 实现代码
  • 总结


1 折纸问题

二叉树经典面试题—折纸_第1张图片

1.1 解决思路

请把一段纸条竖着放在桌子上,然后从纸条的下边向上方对折1次,压出折痕后展开。此时折痕是凹下去的,即折痕突起的方向指向纸条的背面。 如果从纸条的下边向上方连续对折2次,压出折痕后展开,此时有三条折痕,从上到下依次是下折痕、下折痕和上折痕。

给定一个输入参数N,代表纸条都从下边向上方连续对折N次。 请从上到下打印所有折痕的方向。

例如:N=1时,打印: down N=2时,打印: down down up

二叉树问题,递归遍历

1.2 实现代码

public class PaperFold {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        printAllFolds(N);
    }

    private static void printAllFolds(int n) {
        printProcess(1, n, true);
    }

    private static void printProcess(int i, int n, boolean flag) {
        if (i > n) {
            return;
        }
        printProcess(i + 1, n, true);
        System.out.print(flag ? "down " : "up ");
        printProcess(i + 1, n, false);
    }
}

总结

本文中若是有出现的错误请在评论区或者私信指出,我再进行改正优化,如果文章对你有所帮助,请给博主一个宝贵的三连,感谢大家!!!


你可能感兴趣的:(Java基础案例,Java算法,折纸问题,二叉树,数据结构,算法)