您的位置:首页 > Web前端

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

2017-08-02 09:59 267 查看
题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。

思路:

每一次打印一个结点的时候,如果该结点有子结点,则把子结点放进队列的末尾。接下来把最早进入队列的头部取出,重复前面的步骤,直至队列里的所有结点都打印完毕。

代码如下:

public class Solution {

public ArrayList PrintFromTopToBottom(TreeNode root) {

ArrayList list = new ArrayList();

if(root==null) return list;

Deque q=new LinkedList();

q.add(root);

while(!q.isEmpty()){

TreeNode t=q.pop();

list.add(t.val);

if(t.left!=null) q.add(t.left);

if(t.right!=null) q.add(t.right);

}

return list;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息