!力扣102. 二叉树的层序遍历

news/2024/7/5 8:44:59

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

示例 1:

输入:root = [3,9,20,null,null,15,7]     输出:[[3],[9,20],[15,7]]

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:


    vector<vector<int>> levelOrder(TreeNode* root) {
        vector<vector<int>> ret;
        if(!root){return ret;}
        
        queue<TreeNode*> q;//存放节点的队列
        q.push(root);//在末尾加入一个元素
        while(!q.empty()){
            int n=q.size();//每一层的元素个数
            vector<int> cur;//记录每一层节点值的数组
            for(int i=0;i<n;i++){
                TreeNode* tmp=q.front();//返回第一个元素
                q.pop();//弹出第一个元素
                cur.push_back(tmp->val);
                if(tmp->left){q.push(tmp->left);}
                if(tmp->right){q.push(tmp->right);}
            }
            ret.push_back(cur);
        }
        return ret;
    }
};

http://lihuaxi.xjx100.cn/news/2203364.html

相关文章

280 基于matlab的摇号系统GUI界面仿真MATLAB程序

基于matlab的摇号系统GUI界面仿真MATLAB程序&#xff0c;输入总数量及摇号需求&#xff0c;进行随机性摇号&#xff0c;并对摇取的号码进行双重随机性数据检测&#xff0c;确定是否符合要求。程序已调通&#xff0c;可直接运行。 280 GUI人机交互 摇号系统GUI界面仿真 - 小红书…

InternLM Xtuner Qlora 微调

Xtuner 简介 XTuner 是由上海人工智能实验室开发的一款低成本大模型训练工具箱。它以高效、灵活和全能的特性&#xff0c;成为轻量化大模型微调的理想选择。借助 XTuner&#xff0c;用户仅需 8GB 显存即可对 InternLM2-7B 模型进行微调&#xff0c;从而定制出独一无二的 AI 助手…

类和对象(上续)

前言&#xff1a;本文介绍类和对象中的一些比较重要的知识点&#xff0c;为以后的继续学习打好基础。 目录 拷贝构造 拷贝构造的特征&#xff1a; 自定义类型的传值传参 自定义类型在函数中的传值返回 如果返回值时自定义的引用呢&#xff1f; 在什么情况下使用呢&#…

LLVM 后端执行流程

异构计算程序工作流程 图4-1中的LLVM后端的主要功能是代码生成&#xff0c;其中包括若干指令生成分析转换pass&#xff0c;将LLVM IR 转换为特定目标架构的机器代码 LLVM 流水线结构 输入指令经过图4-2中的各个阶段&#xff0c;从最初的LLVM IR&#xff0c;逐步演化为Selectio…

使用Kotlin编写一个Http服务器

首发于Enaium的个人博客 引言 在本文中&#xff0c;我们将使用 Kotlin 编写一个简单的 HTTP 服务器。我们将使用 Java 的 ServerSocket 类来实现这个服务器。我们将创建一个简单的服务器&#xff0c;它将监听端口 8000&#xff0c;并在接收到请求时返回一个简单的响应。 Http…

mysql json_quote和json_unquote的用法

在 MySQL 中&#xff0c;JSON_QUOTE() 和 JSON_UNQUOTE() 函数与 JSON 数据类型的处理有关。这两个函数在处理 JSON 字符串时特别有用。 JSON_QUOTE() JSON_QUOTE() 函数用于将字符串值转换为有效的 JSON 字符串。它会将特殊字符&#xff08;如引号、反斜杠等&#xff09;进行…

两句话让LLM逻辑推理瞬间崩溃!!

一道简单的逻辑问题&#xff0c;竟让几乎所有的LLM全军覆没&#xff1f; 对于人类来说&#xff0c;这个名为「爱丽丝梦游仙境」&#xff08;AIW&#xff09;的测试并不算很难—— 「爱丽丝有N个兄弟&#xff0c;她还有M个姐妹。爱丽丝的兄弟有多少个姐妹&#xff1f;」 稍加思考…

TypeScript基础教程学习

菜鸟教程 TypeScript基础类型 数字类型 number 双精度 64 位浮点值。它可以用来表示整数和分数。 let binaryLiteral: number 0b1010; // 二进制 let octalLiteral: number 0o744; // 八进制 let decLiteral: number 6; // 十进制 let hexLiteral: number 0xf00d…