二叉树的层次遍历--不分层打印

二叉树的层次遍历--不分层打印

解题思路:

实现方式使用一个队列

public static void main(String[] args) {
        TreeNode treeNode1=new TreeNode(1);
        TreeNode treeNode2=new TreeNode(2);
        TreeNode treeNode3=new TreeNode(3);
        TreeNode treeNode4=new TreeNode(4);
        TreeNode treeNode5=new TreeNode(5);
        TreeNode treeNode6=new TreeNode(6);
        TreeNode treeNode7=new TreeNode(7);
        treeNode1.left=treeNode2;
        treeNode1.right=treeNode3;
        treeNode2.left=treeNode4;
        treeNode2.right=treeNode5;
        treeNode3.left=treeNode6;
        treeNode3.right=treeNode7;

        printFromTopToBottom(treeNode1);

    }

    public static void printFromTopToBottom(TreeNode root){
        Queue queue=new LinkedList<>();
        queue.add(root);
        while (!queue.isEmpty()){
            TreeNode peek = queue.peek();
            System.out.print(peek.val+" ");
            queue.poll();

            if(peek.left!=null){
                queue.add(peek.left);
            }

            if(peek.right!=null){
                queue.add(peek.right);
            }

        }
    }

 

你可能感兴趣的:(二叉树)