关关的刷题日记 61 – Leetcode 102. Binary Tree Level Order Traversal

关关的刷题日记61 – Leetcode 102. Binary Tree Level Order Traversal

题目

题目的意思是让我们按照二叉树每一层的顺序来从根节点到叶子节点、从左到右遍历二叉树。

思路

思路:采用宽度优先搜索,从上到下,从左到右遍历二叉树。


class Solution {
public:
    vector<vector<int>> levelOrderBottom(TreeNode* root) {
        vector<vector<int> >store;
        if(root==nullptr)
            return store;
        vector<TreeNode*>bfs;
        bfs.push_back(root);      
        int n=1, count=0;
        while(!bfs.empty())
        {
            vector<int>re;
            for(int i=0; i<n; i++)
            {
                TreeNode *temp=bfs[0];
                bfs.erase(bfs.begin());
                re.push_back(temp->val);
                if(temp->left)
                {
                    bfs.push_back(temp->left);
                    count++;    
                }
                if(temp->right)
                {
                    bfs.push_back(temp->right);
                    count++;
                }
            }
                store.push_back(re);
                n=count;
                count=0;    
        }
        return store;
    }
};


照顾好自己的身体,控制好自己的情绪,加油!

展开全文
相关主题
Top
微信扫码咨询专知VIP会员