您的位置:首页 > 其它

22.从上往下打印二叉树

2017-03-09 21:41 211 查看
题目描述

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

思路:即层次遍历二叉树;

import java.util.ArrayList;
import java.util.LinkedList;
/*
层次遍历二叉树,首先,使用一个队列来储存树的根节点,然后判断如果队列不为空,则记录当前节点的值,然后在出队的同时,将该节点的左右节点一次加入队列,直到队列为空,则退出循环。
*/
public class Solution {
public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
ArrayList<Integer> list = new ArrayList<Integer>();
LinkedList<TreeNode> queue = new LinkedList<TreeNode>();
if (root == null)
return null;
queue.add(root);
while (!queue.isEmpty()){
TreeNode node = queue.poll();
list.add(node.val);
if (node.left != null)
queue.add(node.left);
if (node.right != null)
queue.add(node.right);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: