LintCode 二叉树的层次遍历

LintCode 二叉树的层次遍历_第1张图片
二叉树的层次遍历,一层层从上往下遍历;前中后序遍历是深度遍历,使用栈,按倒序;层次遍历是广度遍历,使用队列,按顺序;

vector<vector<int>> levelOrder(TreeNode * root) {
        // write your code here
        queue queue;
        vector<vector<int>> vec;
        if(! root)
            return vec;
        queue.push(root);
        while( ! queue.empty())
        {
            vector<int> vec_temp;
            int num=queue.size();
            for(int i=0;iqueue.front();
                queue.pop();
                vec_temp.push_back(front->val);
                if(front->left)
                    queue.push(front->left);
                if(front->right)
                    queue.push(front->right);
            }
            vec.push_back(vec_temp);
        }
        return vec;
    }

vector vec_temp 这是一维的矢量,vector

你可能感兴趣的:(数据结构,LintCode)