从上往下打印二叉树

题目描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印
/*
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) {
        queue<TreeNode *> q;
        vector<int> s;
        if(root==NULL)
             return s;
       q.push(root);
        while(!q.empty()){
            TreeNode *p=q.front();
            s.push_back(p->val);
            q.pop();
            if(p->left)
                 q.push(p->left);
             if(p->right)
                  q.push(p->right);
        
        }
        return s;

    }
};

 

posted @ 2015-11-03 21:33  疯狂的癫子  阅读(136)  评论(0编辑  收藏  举报