[力扣 Hot100]Day41 二叉树的层序遍历

题目描述

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

思路

用队列存,每层之间用null隔开。

代码

cpp 复制代码
class Solution {
public:
    vector<vector<int>> levelOrder(TreeNode* root) {
        vector<vector<int>> result;
        vector<int> temp;
        vector<TreeNode*> queue;
        if(!root) return result;
        queue.push_back(root);
        queue.push_back(nullptr);
        int i=0;
        while(i<queue.size()-1) {
            if(!queue[i])
                queue.push_back(nullptr);
            else{
                if(queue[i]->left) queue.push_back(queue[i]->left);
                if(queue[i]->right) queue.push_back(queue[i]->right);
            }
            i++;
        }
        i=0;
        while(i<queue.size()) {
            if(!queue[i]) {
                result.push_back(temp);
                temp.clear();
            }
            else
                temp.push_back(queue[i]->val);
            i++;
        }
        return result;
    }
};
相关推荐
皮卡蛋炒饭.8 分钟前
数据结构—排序
数据结构·算法·排序算法
??tobenewyorker1 小时前
力扣打卡第23天 二叉搜索树中的众数
数据结构·算法·leetcode
贝塔西塔1 小时前
一文读懂动态规划:多种经典问题和思路
算法·leetcode·动态规划
众链网络2 小时前
AI进化论08:机器学习的崛起——数据和算法的“二人转”,AI“闷声发大财”
人工智能·算法·机器学习
2 小时前
Unity开发中常用的洗牌算法
java·算法·unity·游戏引擎·游戏开发
飒飒真编程3 小时前
C++类模板继承部分知识及测试代码
开发语言·c++·算法
GeminiGlory3 小时前
算法练习6-大数乘法(高精度乘法)
算法
熬了夜的程序员4 小时前
【华为机试】HJ61 放苹果
算法·华为·面试·golang
马特说4 小时前
基于随机森林的金融时间序列预测系统:从数据处理到实时预测的完整流水线
算法·随机森林·金融
呆呆的小鳄鱼4 小时前
leetcode:HJ18 识别有效的IP地址和掩码并进行分类统计[华为机考][字符串]
算法·leetcode·华为