思路:从题目看,可以知道其实就是要我们遍历给定的二叉树,要实现同一层的节点按照从左到右的顺序打印。这与我们平时使用的前序中序后序遍历二叉树不一样。这应该是广度优先遍历的思想。我们可以用到队列这个数据结构来完成这种遍历,具体做法是:从根节点开始,每一次打印一个结点的时候,如果该结点有子结点, 则把该结点的子结点入队。接下来到队列对头进行出队操作,一次打印出出队的元素,直至队列中所有的结点都被打印出来为止。
代码实现如下:
package cn.csu;
import java.util.LinkedList;
import java.util.Queue;
public class PrintFromToBottom {
public static class BinaryTreeNode{
int value;
BinaryTreeNode left;
BinaryTreeNode right;
}
public static void printFromToBottom(