Advertisement

采用之字形遍历方法实现二叉树的层次显示

阅读量:

请设计一个函数,实现对二叉树的之字形输出,即第一行按照从左至右的顺序进行输出,第二层则按照从右向左的顺序输出,第三行再次按照从左到右的顺序输出,后续各行依此类推。

#####理解:
该问题与常规按层遍历二叉树的思路基本一致,但由于需要实现蛇形排列,因此存储结构由队列或链表转变为栈。栈所具备的先进后出特性恰好能够满足蛇形打印的需求。
可以设置两个栈,交替作为输出区域与临时存储区域,分别对应奇数层和偶数层的数据处理。通过level变量来标识当前所处的层级。
在实际操作过程中需注意:在节点被弹出时,首先需要判断其是否为空。因为在数据添加阶段可能会包含null值,而打印时应忽略这些null值。

复制代码
    import java.util.ArrayList;
    import java.util.Stack;
    /*
    public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;
    
    public TreeNode(int val) {
        this.val = val;
    
    }
    
    }
    */
    public clas

全部评论 (0)

还没有任何评论哟~