美文网首页
二叉树层次遍历,每层打印出一个换行符

二叉树层次遍历,每层打印出一个换行符

作者: 今天不想掉头发 | 来源:发表于2019-07-22 10:30 被阅读0次

只需要在普通的BST基础上增加一个判断当前queue中数量的size即可,每个size就代表当前层的节点数量。

  public static class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;

        public TreeNode(int val) {
            this.val = val;
        }
    }

    public static void BST(TreeNode root) {
        if (root == null) return;
        Queue<TreeNode> queue = new LinkedList<>();
        queue.offer(root);
        while (!queue.isEmpty()) {
            int size = queue.size();
            while (size-- > 0) {
                TreeNode top = queue.poll();
                System.out.println(top.val + " ");
                if (top.left != null) queue.offer(top.left);
                if (top.right != null) queue.offer(top.right);
            }
            System.out.println();
        }
    }

    public static void main(String[] args) {
        TreeNode root = new TreeNode(1);
        root.left = new TreeNode(2);
        root.right = new TreeNode(3);
        root.left.left = new TreeNode(4);
        BST(root);
    }

相关文章

网友评论

      本文标题:二叉树层次遍历,每层打印出一个换行符

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