www

导航

从上往下遍历二叉树

    vector<int> TravelFromTopToBottom(TreeNode* root) 
    {
        vector<int> result;
        if(root==nullptr)
            return result;
        queue<TreeNode*> MyQueue;
        MyQueue.push(root);
        while(!MyQueue.empty())
        {
            int len=MyQueue.size();
            for(int i=0; i<len; i++)
            {
                TreeNode *temp=MyQueue.front();
                MyQueue.pop();
                result.push_back(temp->val);  
                if(temp->left!=nullptr)
                {
                    MyQueue.push(temp->left);    
                }
                if(temp->right!=nullptr)
                {
                    MyQueue.push(temp->right);    
                }
            }
        }
        return result;
    }

 

posted on 2017-09-22 17:13  www_practice  阅读(264)  评论(0编辑  收藏  举报