二叉树层序遍历集合

Posted 张小小凡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树层序遍历集合相关的知识,希望对你有一定的参考价值。

前言

每天一道算法题,大厂offer随便挑!

从今天开始,我们一起来刷LeetCode上的算法题吧,每天最少一道。321。。。上代码


二叉树遍历系列


关联题目

二叉树层序遍历集合

LeetCode上二叉树层序遍历系列的题都整理在下方了,一起练习,更方便理解和记忆。

  • 102 二叉树的层序遍历
  • 107 二叉树的层次遍历II
  • 199 二叉树的右视图
  • 637 二叉树的层平均值
  • 429 N叉树的前序遍历
  • 515 在每个树行中找最大值
  • 116 填充每个节点的下一个右侧节点指针
  • 117 填充每个节点的下一个右侧节点指针II


107 二叉树的层次遍历 II

题目要求:给定一个二叉树,返回其节点值自底向上的层次遍历。(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

二叉树层序遍历集合

    public List<List<Integer>> method(TreeNode root) {
        List<List<Integer>> ret = new LinkedList<>();
        if (root == nullreturn ret;

        LinkedList<TreeNode> queue = new LinkedList<>();
        queue.offer(root);
        while (!queue.isEmpty()) {
            ArrayList<Integer> list = new ArrayList<>();

            int size = queue.size();
            for (int i = 0; i < size; i++) {
                TreeNode node = queue.poll();
                list.add(node.val);

                TreeNode left = node.left, right = node.right;
                if (left != null) {
                    queue.offer(left);
                }
                if (right != null) {
                    queue.offer(right);
                }
            }
            ret.add(0, list);
        }
        return ret;
    }


注意每次向队列中加元素是加在最后面,每次取元素取第一个,取size个 正好取完上次加进去的元素

二叉树层序遍历集合



199 . 二叉树的右视图

题目要求给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

二叉树层序遍历集合

解题思路和上面大致一样,看看自己能不能想出来。剩下的题目自己去LeetCode官网提交吧。


长按图片关注我吧!










以上是关于二叉树层序遍历集合的主要内容,如果未能解决你的问题,请参考以下文章

二叉树层序遍历

数据结构——二叉树层序遍历

二叉树层序遍历

Leetcode-102.二叉树层序遍历

建立二叉树,层序、先序遍历

NC15 求二叉树的层序遍历