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

**思路:**就是在上一个题的基础上将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;

    }
};
相关推荐
asom221 小时前
LeetCode Hot100(字串)
算法·leetcode
学习使我变快乐2 小时前
C++:无序容器
数据结构·c++·算法
朱剑君3 小时前
贪心算法——分数背包问题
算法·贪心算法
小O的算法实验室3 小时前
2008年EJOR SCI2区,连续蚁群优化算法ACOR,深度解析+性能实测
算法·智能算法
2301_794461573 小时前
力扣-将x减到0的最小操作数
数据结构·算法·leetcode
bing_feilong3 小时前
树莓派4B搭建Hector SLAM算法, ROS1 & ROS2?
算法·机器人
晨曦夜月3 小时前
《牛客》数组中出现次数超过一半的数字
算法
白白糖3 小时前
相同,对称,平衡,右视图(二叉树)
python·算法·二叉树·力扣
星沁城3 小时前
108. 将有序数组转换为二叉搜索树
java·数据结构·leetcode
摩尔线程4 小时前
推测解码算法在 MTT GPU 的应用实践
算法·语言模型·大模型·gpu算力·gpu·摩尔线程