码迷,mamicode.com
首页 > 其他好文 > 详细

树的广度优先遍历

时间:2017-08-26 12:39:01      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:splay   root   ffffff   pop   res   display   class   white   form   

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

 

struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }
};

 

    vector<int> PrintFromTopToBottom(TreeNode* root) {//实现广度优先遍历
        
        vector<int> res;
        if(root==NULL) return res;
        queue<TreeNode*> qu;//创建队列
        qu.push(root);//根节点放入队列
        while(!qu.empty())//当前队列不为空
        {
            res.push_back(qu.front()->val);
            if(qu.front()->left)
                qu.push(qu.front()->left);
            if(qu.front()->right)
                qu.push(qu.front()->right);          
            qu.pop();//当前队头元素出队
        }
        return res;
    }

 

树的广度优先遍历

标签:splay   root   ffffff   pop   res   display   class   white   form   

原文地址:http://www.cnblogs.com/wft1990/p/7434910.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!