代码随想录 二叉树—二叉树的层序遍历Ⅱ

**思路:**就是在上一个题的基础上将result最后翻转了一下,这样就可以实现自下而上的层序遍历。

**知识点:**stack和queue,也就是栈和队列,是push;

栈stack:push(),pop(),top(),empty(),size()

队列queue:push(),pop(),front(),back(),empty(),size()

vector容器:push_back(),pop_back(),empty(),erase(),clear()

list:push_front(),push_back(),pop_front(),pop_back()

题解c++:

cpp 复制代码
/**
 * 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>> levelOrderBottom(TreeNode* root) {
        queue<TreeNode*> que;
        if(root!=NULL) que.push(root);
        vector<vector<int>> result;
        while(!que.empty())
        {
            int size=que.size();
            vector<int> vec;
            for(int i=0;i<size;i++)
            {
                TreeNode* node=que.front();
                que.pop();
                vec.push_back(node->val);
                if(node->left) que.push(node->left);
                if(node->right) que.push(node->right);
            }
            result.push_back(vec);
        }
        reverse(result.begin(),result.end());
        return result;

    }
};
相关推荐
2501_941798732 分钟前
面向微服务分布式事务补偿与最终一致性的互联网系统高可用设计与多语言工程实践分享
leetcode·模拟退火算法
罗湖老棍子26 分钟前
【例4-6】香甜的黄油(信息学奥赛一本通- P1345)
算法·图论·dijkstra·floyd·最短路算法·bellman ford
jghhh0142 分钟前
基于C#实现与三菱FX系列PLC串口通信
开发语言·算法·c#·信息与通信
ada7_44 分钟前
LeetCode(python)22.括号生成
开发语言·数据结构·python·算法·leetcode·职场和发展
曹轲恒1 小时前
JVM之垃圾回收算法(GC)
jvm·算法
YuTaoShao1 小时前
【LeetCode 每日一题】1161. 最大层内元素和——BFS
算法·leetcode·宽度优先
黛色正浓1 小时前
leetCode-热题100-子串合集(JavaScript)
javascript·算法·leetcode
Z1Jxxx1 小时前
字符串翻转
开发语言·c++·算法
闻缺陷则喜何志丹1 小时前
【前缀和 期望】P7875 「SWTR-7」IOI 2077|普及+
c++·算法·前缀和·洛谷·期望
CoovallyAIHub2 小时前
超越Sora的开源思路:如何用预训练组件高效训练你的视频扩散模型?(附训练代码)
深度学习·算法·计算机视觉