当前位置: 首页 > article >正文

二叉树的层序遍历(102)

102. 二叉树的层序遍历 - 力扣(LeetCode)

解法:

/**
 * 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>> res;
        if (root == nullptr) {
            return res;
        }
        queue<TreeNode* >  q;
        q.push(root);
        while(!q.empty()) {
            uint32_t n = q.size();
            vector<int> v;
            v.reserve(n);
            for (int i = 0; i < n; i++) {
                TreeNode * t = q.front();
                q.pop();
                v.push_back(t->val);
                if (t->left != nullptr) {
                    q.push(t->left);
                }
                if (t->right != nullptr) {
                    q.push(t->right);
                }
            }
            res.push_back(std::move(v));
        }

        return res;
    }
};

总结:计算时间复杂度O(N),空间复杂度O(N)。相关题目:二叉树前序遍历(144)、中序遍历(94)、后序遍历(145)-CSDN博客


http://www.kler.cn/a/587152.html

相关文章:

  • 平板作为笔记本副屏使用spacedesk
  • Java入职篇(5)—— IDEA快捷键
  • 计算机毕业设计:基于Android和SNS的音乐星球软件
  • rv1106上libwebsockets的编译
  • 阿里百炼Spring AI Alibaba
  • PECL(Positive Emitter-Coupled Logic)电平详解
  • 【AI】内容生成式AI(AIGC)的深度分析与扩展
  • PCDN 与边缘计算的结合:未来内容分发的新趋势
  • iOS应用程序开发(图片处理器)
  • 【前端基础】2、HTML的元素(基础说明)
  • 【Linux网络】HTTPS
  • 3.14-信号
  • WebRTC中音视频服务质量QoS之RTT衡量网络往返时延的加权平均RTT计算机制‌详解
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14_10空状态的固定表头表格
  • 【云原生知识】如何搭建基于服务网关的分布式服务?
  • 【Linux-传输层协议TCP】流量控制+滑动窗口+拥塞控制+延迟应答+捎带应答+面向字节流+粘包问题+TCP异常情况+TCP小结
  • 时间序列重采样与pandas的resample方法是如何实现的?
  • 本地化部署Deepseek关于Ollama 安全加固方案(新手易学)
  • 使用spring data MongoDB对MongoDB进行简单CURD操作示例
  • SQL99 多表查询