采用之字形遍历方法实现二叉树的层次显示
发布时间
阅读量:
阅读量
请设计一个函数,实现对二叉树的之字形输出,即第一行按照从左至右的顺序进行输出,第二层则按照从右向左的顺序输出,第三行再次按照从左到右的顺序输出,后续各行依此类推。
#####理解:
该问题与常规按层遍历二叉树的思路基本一致,但由于需要实现蛇形排列,因此存储结构由队列或链表转变为栈。栈所具备的先进后出特性恰好能够满足蛇形打印的需求。
可以设置两个栈,交替作为输出区域与临时存储区域,分别对应奇数层和偶数层的数据处理。通过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)
还没有任何评论哟~
