OJ lintcode 二叉树的层次遍历

给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)


image.png
/**
 * Definition of TreeNode:
 * class TreeNode {
 * public:
 *     int val;
 *     TreeNode *left, *right;
 *     TreeNode(int val) {
 *         this->val = val;
 *         this->left = this->right = NULL;
 *     }
 * }
 */
 
 
class Solution {
    /**
     * @param root: The root of binary tree.
     * @return: Level order a list of lists of integer
     */
public:
    void handle_levelorder(queue<TreeNode *> &q,vector<vector<int>> &res){
        //如果队列不等于空
        vector<int> vi;
        if(q.empty()==false){
            vector<TreeNode*> vt;
            while(q.empty()==false){
                TreeNode * h=q.front();
                q.pop();

                
                vi.push_back(h->val);
                //res.push_back(vi);

                vt.push_back(h);
            }
            res.push_back(vi);

            for(int i=0;i<vt.size();i++){
                if(vt[i]->left!=NULL){
                    q.push(vt[i]->left);
                }
                if(vt[i]->right!=NULL){
                    q.push(vt[i]->right);
                }
            }
            vt.clear();
            handle_levelorder(q,res);
        }
    }
    vector<vector<int>> levelOrder(TreeNode *root) {
        // write your code here

        vector<vector<int>> res;
        queue<TreeNode *> q;
        if(root==NULL){
            return res;
        }
        else{
            q.push(root);
            handle_levelorder(q,res);
        }

        return res;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 树的概述 树是一种非常常用的数据结构,树与前面介绍的线性表,栈,队列等线性结构不同,树是一种非线性结构 1.树的定...
    Jack921阅读 4,764评论 1 31
  • 树(tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。...
    曾大稳丶阅读 1,126评论 0 1
  • 题目 给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历...
    六尺帐篷阅读 567评论 2 1
  • 一直以来,我都很少使用也避免使用到树和图,总觉得它们神秘而又复杂,但是树在一些运算和查找中也不可避免的要使用到,那...
    24K男阅读 6,862评论 5 14
  • 看到曾经相识的一个朋友在qq空间大秀与我高中同学的合影,我看到的第一眼其实并不是由衷的祝福,而是有种淡淡的失落。曾...
    潇漠阅读 38评论 0 2

友情链接更多精彩内容