美文网首页
剑指offer 之 二叉树按层遍历

剑指offer 之 二叉树按层遍历

作者: 筱橙子丶 | 来源:发表于2018-01-18 09:29 被阅读0次

/*

public class TreeNode {

Objectval;

    TreeNodeleft;

    TreeNoderight;

    public TreeNode(Object val){

this.val = val;

    }

}*/


思路:加上last和nLast两个变量,初始时都指向root, 然后每次遍历时,nLast指向当前行的下一行的最后一个节点,last指向当前行的最后一个节点。如果last等于当前打印的变量,即当前打印的是最后一个节点,输出换行符,nLast 的值赋值给last;

/**

* 按层遍历二叉树

*/

public void searchTreeByCen(TreeNode root){

TreeNode last;

    TreeNode nLast;

    Queuequeue =new LinkedBlockingDeque<>();

    queue.add(root);

    last = root;

    nLast = root;

    while (!queue.isEmpty()){

TreeNode tmp = queue.poll();

        System.out.print(tmp.val+" ");

        if (tmp.left !=null){

queue.add(tmp.left);

            nLast = tmp.left;

        }

if (tmp.right !=null){

queue.add(tmp.right);

            nLast = tmp.right;

        }

if (last == tmp){

System.out.println();

            last = nLast;

        }

}

}

相关文章

  • 剑指offer 之 二叉树按层遍历

    /* public class TreeNode { Objectval; TreeNodeleft; T...

  • 数据结构算法(八) 之 树的 2 道面试题 60 & 6

    剑指 Offer 面试题 60(Java 版):把二叉树打印成多行 题目:从上到下按层打印二叉树,同一层的结点按从...

  • 剑指Offer(四)

    剑指Offer(四) 重建二叉树 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的...

  • 重建二叉树

    《剑指offer》面试题7:重建二叉树 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前...

  • go 重建二叉树

    这是剑指offer的一道题。 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍...

  • 根据前序遍历和中序遍历重建二叉树

    此题为剑指offer的第7题 就是根据二叉树的前序和中序遍历的序列来构造二叉树并以层次遍历的形式输出。考察了二叉树...

  • 重建二叉树

    上牛客网做了一道剑指offer的算法题 重建二叉树 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设...

  • ALI 算法

    二叉树遍历算法: 按层遍历, 中序前序后序:

  • 数据结构算法(七) 之 树的 2 道面试题 58 & 5

    剑指 Offer 面试题 58(Java 版):二叉树的下一结点(中序遍历) 题目:给定一棵二叉树和其中的一个结点...

  • 剑指offer第二版-7.重建二叉树

    本系列导航:剑指offer(第二版)java实现导航帖 面试题7:重建二叉树 题目要求:根据二叉树的前序遍历和中序...

网友评论

      本文标题:剑指offer 之 二叉树按层遍历

      本文链接:https://www.haomeiwen.com/subject/cgeioxtx.html