首页 > 其他 > 详细

二叉树之广度优先遍历

时间:2020-07-02 10:23:40      阅读:49      评论:0      收藏:0      [点我收藏+]

1 广度优先遍历

广度优先遍历就是层次遍历,使用队列完成遍历。

遍历思路:

出队一个节点,便要入队其左右子节点;

最终队列为空,也就完成了层次遍历。

2 代码

class Solution {
public:
    vector<vector<int>> levelOrder(TreeNode* root) {
        vector<vector<int>> V;
        if(root == NULL)
            return V;
        queue<TreeNode*> Q;
        Q.push(root);
        while(Q.size() != 0)
        {
            int l = Q.size();
            vector<int> temp;
            for(int i = 0; i < l; i++)
            {
                TreeNode* head = Q.front();
                temp.push_back(head -> val);
                Q.pop();
                if(head -> left != NULL)    Q.push(head -> left);
                if(head -> right != NULL)   Q.push(head -> right);
            }
            V.push_back(temp);
        }
        return V;
    }
};

 

二叉树之广度优先遍历

原文:https://www.cnblogs.com/QQ2962269558/p/13222359.html

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