码迷,mamicode.com
首页 > 其他好文 > 详细

二叉树按行打印,换行。。。。

时间:2017-10-26 23:16:53      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:二叉树按行打印

public class Tree {
    TreeNode last;
    TreeNode nlast;
    public void printTree(TreeNode root) {
        Queue<TreeNode> queue = new LinkedList<>();
        queue.add(root);
        last = root;
        nlast = root;
        while (!queue.isEmpty()) {
            TreeNode t = queue.peek();
            System.out.print(queue.poll().data + " ");
            if (t.left != null) {
                queue.add(t.left);
                nlast = t.left;
            }
            if (t.right != null) {
                queue.add(t.right);
                nlast = t.right;
            }
            // 如果当前输出结点是最右结点,那么换行
            if (last == t) {
                System.out.println();
                last = nlast;
            }
        }
    }

差不多就是用俩指针,一个指向最后节点,另一个一次指向,当便利到的节点等于每行最后一个节点时就换行。。。。。。。。。

二叉树按行打印,换行。。。。

标签:二叉树按行打印

原文地址:http://fulin0532.blog.51cto.com/6233825/1976534

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!