首页 > 其他 > 详细

从上往下打印二叉树

时间:2015-05-22 22:38:50      阅读:291      评论:0      收藏:0      [点我收藏+]

题目描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

/*
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> result;
       queue<TreeNode *>s;
  s.push(root);
        if(root==NULL)
            return result;
  while(!s.empty())
  {

    //cout<<p->data<<" ";
       result.push_back(root->val);
    if(root->left!=NULL)
    s.push(root->left);
    if(root->right!=NULL)
    s.push(root->right);
    s.pop();
    if(!s.empty())///////////////////判断
    root=s.front();
  }
  //return ;
        return result;
    }
};

从上往下打印二叉树

原文:http://blog.csdn.net/a819721810/article/details/45920535

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!