首页 > 其他分享 >102.二叉树的层序遍历

102.二叉树的层序遍历

时间:2023-04-02 19:49:34浏览次数:40  
标签:node right TreeNode 层序 nullptr push que 二叉树 102

给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)

class TreeNode
{
public:
    int val;
    TreeNode *left;
    TreeNode *right;
    TreeNode():val(NULL),left(nullptr),right(nullptr){}
    TreeNode(int x):val(x),left(nullptr),right(nullptr){}
};

class Solution {
public:
    vector<vector<int>> levelOrder(TreeNode* root) 
    {
        if(root == nullptr) return res;
        que.push(root);
        while(!que.empty())
        {
            int size = que.size();
            vector<int> vec;
            for(int i = 0; i < size ; i++)
            {
                TreeNode *node = que.front();
                vec.push_back(node->val);
                que.pop();
                if(node->left) que.push(node->left);
                if(node->right) que.push(node->right);
            }
            res.push_back(vec);
        }
        return res;
    }
private:
    // stack<TreeNode*> sta;
    queue<TreeNode*> que;
    vector<vector<int>> res;
};

标签:node,right,TreeNode,层序,nullptr,push,que,二叉树,102
From: https://www.cnblogs.com/lihaoxiang/p/17281072.html

相关文章

  • 二叉树的统一迭代法
    classTreeNode{public:intval;TreeNode*left;TreeNode*right;TreeNode():val(NULL),left(nullptr),right(nullptr){}TreeNode(intx):val(x),left(nullptr),right(nullptr){}};classSolution{public:vector<int>inorderTrav......
  • 二叉树的前中后序遍历(非递归)
    classTreeNode{public:intval;TreeNode*left;TreeNode*right;TreeNode():val(NULL),left(nullptr),right(nullptr){}TreeNode(intx):val(x),left(nullptr),right(nullptr){}};classSolution{public:vector<int>preorderTra......
  • day14| 94.二叉树的中序遍历;144.二叉树的前序遍历;145.二叉树的后序遍历
    94.二叉树的中序遍历 思路:1.找出重复的子问题这个重复的子问题是:先遍历左子树、再取根节点、最后遍历右子树2.确定终止条件当节点为空是,返回 代码如下:#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,......
  • AcWing 1023. 买书
    小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元。问小明有多少种买书方案?(每种书可购买多本)输入格式一个整数n,代表总共钱数。输出格式一个整数,代表选择方案种数。数据范围0≤n≤1000输入样例1:20输出样例1:2输入样例2:15输出样例2:0输入样例3:0输出样例3:1......
  • AcWing 1022. 宠物小精灵之收服
    宠物小精灵是一部讲述小智和他的搭档皮卡丘一起冒险的故事。一天,小智和皮卡丘来到了小精灵狩猎场,里面有很多珍贵的野生宠物小精灵。小智也想收服其中的一些小精灵。然而,野生的小精灵并不那么容易被收服。对于每一个野生小精灵而言,小智可能需要使用很多个精灵球才能收服它,而在......
  • AcWing 1024. 装箱问题
    有一个箱子容量为V,同时有n个物品,每个物品有一个体积(正整数)。要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入格式第一行是一个整数V,表示箱子容量。第二行是一个整数n,表示物品数。接下来n行,每行一个正整数(不超过10000),分别表示这n个物品的各自体积。......
  • 代码随想录Day17-Leetcode110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和
    110.平衡二叉树题目链接:https://leetcode.cn/problems/balanced-binary-tree/一个显然但似乎不太高效的方法是:通过递归获取左右子树高度,判断差;然后递归判断左右结点;那么一个显然的改进就是后序遍历/***Definitionforabinarytreenode.*functionTreeNode(val......
  • 二叉树中和为某一值的路径
    classSolution{public:vector<vector<int>>res;vector<int>path;voiddfs(TreeNode*root,intsum,intt){t+=root->val;path.push_back(root->val);if(root->left)dfs(root-&......
  • 数据结构之二叉树
    树是一种非线性数据结构,是由n(n>=0)个有限节点组成的一个具有层次关系的集合。树的逻辑结构看起来像一棵倒挂的树,根朝上,叶子朝下。树一般是递归定义的,每一棵树都可以认为是由根和其子树构成,且各个子树不相交。树树的相关概念节点的度:一个节点含有的子树的个数称为该节点的度;叶节......
  • 漏洞丨CVE20102883
    作者丨黑蛋一、漏洞描述此漏洞编号CVE-2010-2883,看着是一个很简单的栈溢出漏洞,但是也要看怎么玩了。这个漏洞是AdobeAcrobatReader软件中CoolType.dll在解析字体文件SING表中的uniqueName字段的调用了strcat函数,但是对参数没有做出判断,没有检查uniqueName字段长度,导致了栈溢出......