剑指Offer——面试题32:从上到下打印二叉树

题目描述

从上到下打印二叉树

算法分析

二叉树的层序遍历,通过使用辅助队列来完成,注意 root == nullptr 的情况

程序代码

/*
struct TreeNode {
	int val;
	struct TreeNode *left;
	struct TreeNode *right;
	TreeNode(int x) :
			val(x), left(NULL), right(NULL) {
	}
};*/
class Solution {
public:
    vector<int> PrintFromTopToBottom(TreeNode* root) 
    {
        vector<int> PrintVector;
        if(root == nullptr)
            return PrintVector;

        queue<TreeNode*> PrintQueue;
        PrintQueue.push(root);
        while(!PrintQueue.empty())
        {
            TreeNode *temp = PrintQueue.front();
            if(temp->left != nullptr)
                PrintQueue.push(temp->left);
            if(temp->right != nullptr)
                PrintQueue.push(temp->right);
            PrintVector.push_back(temp->val);
            PrintQueue.pop();
        }
        return PrintVector;
    }
};

你可能感兴趣的:(数据结构与算法)