首页 > 其他分享 >leetcode102-二叉树层序遍历

leetcode102-二叉树层序遍历

时间:2023-10-22 20:56:04浏览次数:33  
标签:node tmp 层序 queue add 二叉树 leetcode102 null 节点


目标:将每层的结果放在每层的集合中
问题:如何将不同父节点的同层节点,例如4和6,按照顺序放在一个list中
思路:4和6的关联在与它们的父节点,遍历他们的父节点时将其子节点放在一个缓存队列中,从队列中取值就能够实现目标
代码:

点击查看代码
class Solution {
    public List<List<Integer>> levelOrder(TreeNode root) {
        Queue<TreeNode> queue = new LinkedList<>();
        List<List<Integer>> res = new ArrayList<>();
        if(root != null) {
            queue. Add(root);
        }
        while (!queue.isEmpty()){
            List<Integer> tmp = new ArrayList<>();
            for (int i = queue.size(); i > 0; i--) {
                TreeNode node = queue.poll();
                tmp.add(node.val);
                if (node.left != null) {
                    queue.add(node.left);
                }
                if (node.right != null) {
                    queue.add(node.right);
                }
            }
            res.add(tmp);
        }
        return res;
    }
}

标签:node,tmp,层序,queue,add,二叉树,leetcode102,null,节点
From: https://www.cnblogs.com/devinseu/p/17781100.html

相关文章

  • P5018 [NOIP2018 普及组] 对称二叉树
    先递归判断当前子树是不是对称二叉树,如果是就取\(\max\)然后退出,否则继续递归左儿子的左子树和右儿子的右子树、左儿子的右子树和右儿子的左子树判断。最坏情况是每次都递归到叶子,也就是每层都是\(O(n)\)。但一共只有\(O(\logn)\)层,所以时间复杂度是\(O(n\logn)\)。......
  • 6.16后序线索二叉树
    importjava.util.Scanner;publicclassMain{publicstaticinti=0;publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);Stringstr=sc.next();Treesroot=AddTrees(str);//创建前序二叉树root.zhon......
  • 144-18 中序创建线索二叉树
    同理,先序创建线索二叉树只需要将InThread中的某部分调换位置死记硬背#include<stdio.h>#include<stdlib.h>typedefstructnode{intdata;structnode*lchild,*rchild;intlefttag,righttag;}TreeNode,*Tree;voidCreateTree(Tree&T)//先序......
  • IDEA_多窗口_二叉树目录
    IDEAIDEA打开两个项目File——>Open/OpenRecent——>选择项目是替换目前正打开的项目窗口-ThisWindow/保留目前已打开的项目,重新打开一个新的窗口-NewWindowIDEA文件夹分支显示多个空文件夹创建时,内无文件的目录会叠加一起,点击设置按钮、TreeAppearance......
  • 二叉树遍历
    packagecom.exe4.offer;importjava.util.Stack;/***前序、中序、后序遍历方法*@authorWGS**/publicclassBianliOfBinarryTree{publicstaticclassTreeNode{intval=0;TreeNodeleft=null;TreeNoderight=null;......
  • 王道408---DS---树、二叉树、图
    有序树、无序树的概念有序树和无序树,树中结点的各子树从左到右是有次序的,不能互换,称该树为有序树,否则称为无序树。树/二叉树的性质树的性质常用的只有第一个二叉树的性质常用公式也只有这一个二叉树的存储一般分为顺序存储与链式存储要求顺序存储能默写顺序存储:typ......
  • HashMap-二叉树
        ......
  • LeetCode101.对称二叉树
    classSolution{//ArrayDeque不支持添加nullpublicbooleanisSymmetric(TreeNoderoot){returndfs(root.left,root.right);}//实际上,递归比较的就是根节点左右子树上,对称位置的节点booleandfs(TreeNodeleft,TreeNoderight){i......
  • HashMap-二叉树
        ......
  • 143-3 二叉树后序非递归遍历
    二叉树的后序非递归遍历使用辅助栈 r指针的作用是判断该结点是否遍历过#include<stdio.h>#include<stdlib.h>#defineMaxSize20typedefstructnode{intdata;structnode*lchild,*rchild;}TreeNode,*Tree;typedefTreeNode*Elem;typedefstruct{......