您的位置:首页 > Web前端

【剑指offer】从上往下打印二叉树

2016-06-22 13:45 316 查看
题目:

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

分析:

层序遍历需借助队列,将节点入队出队进行遍历。

实现:

//import java.util.LinkedList;
//import java.util.Queue;
public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
Queue<TreeNode> queue = new LinkedList<TreeNode>();
ArrayList<Integer> listVal = new ArrayList<Integer>();
if (root == null)
return listVal;
queue.add(root);
listVal.add(root.val);
TreeNode node = root;
while (!queue.isEmpty()) {
node = queue.poll();
if (node.left != null) {
queue.add(node.left);
listVal.add(node.left.val);
}
if (node.right != null) {
queue.add(node.right);
listVal.add(node.right.val);
}
}
return listVal;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息