您的位置:首页 > Web前端

从上往下打印二叉树

2016-06-18 14:42 204 查看
题目:从上向下答应二叉树

思路:其实就是分层遍历,只需要借助一个队列即可完成,具体代码如下:

不足之处,欢迎批评指正。

/*

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> res;

        if(root==NULL) return res;

        queue<TreeNode*> temp;

        temp.push(root);

        while(!temp.empty()){

            TreeNode* x=temp.front();

            temp.pop();

            res.push_back(x->val);

            if(x->left)

                temp.push(x->left);

            if(x->right)

                temp.push(x->right);

        }

        return res;

    }

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息