其他分享
首页 > 其他分享> > JZ22 从上往下打印二叉树 (树看不太懂)

JZ22 从上往下打印二叉树 (树看不太懂)

作者:互联网

描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

示例1

输入:{5,4,#,3,#,2,#,1}

返回值:[5,4,3,2,1]

 解题思路

广度优先遍历 BFS

 

package com.LeetCodeProblem.JZ;
import java.util.LinkedList;
import java.util.Queue;
import java.util.ArrayList;

public class JZ22 {

    public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {

        if(root==null) return null;

        ArrayList<Integer> res = new ArrayList<>();

        Queue<TreeNode> queue = new LinkedList<>();

        queue.add(root);

        while (!queue.isEmpty()){
            TreeNode node= queue.remove();
            if (node==null) continue;
            res.add(node.val);
            queue.add(node.left);
            queue.add(node.right);
        }
        return res;


    }

    public class TreeNode{
        int val=0;
        TreeNode left=null;
        TreeNode right=null;

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

标签:node,TreeNode,val,JZ22,queue,二叉树,树看,null,public
来源: https://blog.csdn.net/weixin_58070636/article/details/118682840