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