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

从上往下打印二叉树(分层遍历)

时间:2015-09-01 21:26:24      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

  从上往下打印二叉树的每个节点,同一层的节点按照从左到右的顺序打印。

  从上到下打印二叉树的规律:每一次打印一个节点的时候,如果该节点有子节点,则把该节点的子节点放到一个队列的末尾。接下来到队列的头部取出最早进入队列的节点,重复前面的打印操作,直到队列中所有的节点都被打印出来为止。

  

struct TreeNode {
    int val;
    TreeNode* left;
    TreeNode* right;
};

void LevelOrder(BinaryTreeNode* root) {
    if (root == NULL) return;

    queue<BinaryTreeNode*> q;

    q.push(root);

    while (!q.empty()) {
        BinaryTreeNode* p = q.front();
        q.pop();

        cout<<p->val<<" ";

        if (p->left)
            q.push(p->left);

        if (p->right)
            q.push(p->right);
    }
}

 

从上往下打印二叉树(分层遍历)

标签:

原文地址:http://www.cnblogs.com/vincently/p/4776754.html

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