剑指offer-22-层序遍历二叉树

从上往下打印二叉树

http://www.nowcoder.com/questionTerminal/7fe2212963db4790b57431d9ed259701

思路

如标题所示,层序遍历二叉树,二叉树遍历有4种,前中后根 再加上 层序遍历二叉树
前三种可以递归,层序遍历二叉树不能递归,一般的使用一个Queue,队列从左往后存储每一层数据
层序遍历有一些变种,比如之字型打印,用一个奇偶数标记一下打印方向。
本题全部一个方向,就直接用一个queue依次添加,不需要额外建一个queue存储下一层结点,而之字形需要,这样可以打印完一层又一层

代码

import java.util.*;
public class Solution {
    public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
        ArrayList<Integer> arr=new ArrayList<>();
        if(root==null){return arr;}
        Queue<TreeNode> deque=new LinkedList<>();
        deque.add(root);
        while(!deque.isEmpty()){
            TreeNode temp=deque.poll();
            arr.add(temp.val);
            if(temp.left!=null){deque.add(temp.left);}
            if(temp.right!=null){deque.add(temp.right);}
        }
        return arr;
    }
}
剑指offer与数据结构 文章被收录于专栏

本专栏包括剑指offer题目和一些刷题用的数据结构,单调栈,树状数组,差分数组,后面还会更新红黑树等较为复杂的数据结构

全部评论

相关推荐

只有一个苍穹外卖外加正在看黑马点评,可以找小厂实习吗,还有我的简历有什么大问题吗
Java抽象小篮子:感觉有点熟悉,问题1是学历,2是没实习经历,3是专业技能写得太少太少了(怎么写可以看我置顶帖),4是仅这一个项目找实习不够看。拷打完毕,简历怎么写可以看我置顶帖子
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务