zoukankan      html  css  js  c++  java
  • 算法-二叉树层序遍历

    1.题目

    给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)(代码在牛客网中执行通过)

    2.思路

    3.代码

    /**
     * struct TreeNode {
     *    int val;
     *    struct TreeNode *left;
     *    struct TreeNode *right;
     * };
     */
    
    class Solution {
    public:
        /**
         * 
         * @param root TreeNode类 
         * @return int整型vector<vector<>>
         */
        vector<vector<int> > levelOrder(TreeNode* root) {
            // 创建一个容器存放所有的要输出的list集合
            vector<vector<int>> result;
            if (!root){
                return result;
            }
            // 用于保存将要被弹出去的节点
            TreeNode* cur = root;
            // 将即将弹出的节点保存到一个新的容器
            vector<int> vtemp;
            // 创建一个队列进行节点的输入输出
            queue<TreeNode*> lis;
            queue<int> lev;
            // 先将根节点存入队列
            lis.push(root);
            lev.push(0);
            while(!lis.empty()){
                int len = lis.size();
                for(int i=0;i<len;i++){
                    // 先保存将弹出去的节点
                    cur = lis.front();
                    vtemp.push_back(cur->val);
                    // 从左到右(队列的先进先出)弹出每一层的节点
                    lis.pop();
                    // 每弹出一个根节点则将他的左右孩子节点,保存到队列中来
                    if(cur->left){
                        lis.push(cur->left);
                    }
                    if(cur->right){
                        lis.push(cur->right);
                    }
                    
                }
                // 将每层的节点集合保存到,总的容器里面
                result.push_back(vtemp);
                // 释放vtemp中的元素
                vtemp.clear();
            }
            return result;
        }
    };
    文中可能存在描述不正确,欢迎园子里的大神们指正补充! 感谢您的阅读,如果觉得对您有帮助,就在右下角点个赞吧,感谢!
  • 相关阅读:
    Codesys——限定符的使用方法[来自Codesys的Help]
    分页后台
    多条件查询判断
    添加跟反射
    试图页面分页首选
    动态游标存储过程 表名为参数
    索引器
    泛型 Generics
    Win10 锁屏图片 路径
    SQL2014 error 40 ( Microsoft SQL Server, 错误2)
  • 原文地址:https://www.cnblogs.com/ioyuki/p/13663230.html
Copyright © 2011-2022 走看看