二叉树的层次遍历

Posted Blocking The Sky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树的层次遍历相关的知识,希望对你有一定的参考价值。

class Solution 
public:
    vector<vector<int>> levelOrder(TreeNode* root) 
        TreeNode* p;
        vector<vector<int>> result;
        if(root==NULL)
            return result;
        queue<TreeNode*> q;
        q.push(root);
        vector<int> level;
        while(!q.empty())
            int size;
            size=q.size();
            for(int i=0;i<size;i++)
                p=q.front();
                q.pop();
                level.push_back(p->val);
                if(p->left)
                    q.push(p->left);
                
                if(p->right)
                    q.push(p->right);
                
            
            result.push_back(level);
            vector<int>().swap(level);
        
        return result;
    
;
/*
void  LevelOrder(BiTree T)
    InitQueue(Q);
    BiTree p;
    EnQueue(Q,T);
    while(!IsEmpty(Q))
        DeQueue(Q,p);
        visit(p);
        if(p->lchild!==NULL)
            EnQueue(Q,p->lchild);
        
        if(p->rchile!=NULL)
            EnQueue(Q,p->rchild);
        
    

*/

以上是关于二叉树的层次遍历的主要内容,如果未能解决你的问题,请参考以下文章

七十七 二叉树的层次遍历和最大深度

二叉树的层次遍历 II

重建二叉树与二叉树的层次遍历

代码题— 二叉树的层次遍历

python-leetcode102-树的宽度遍历二叉树的层次遍历

二叉树构建与遍历-LeetCode 103108109(二叉树的构建,层次遍历)