leetcode-107 100%submissions

第一百零七题:(二叉树层次遍历问题)网上借鉴

1.边界情况:

根结点为空。

2.思路:

前面都是老方法用队列遍历然后存在二维数组中,然后用reverse函数反转数组即可。

 算法代码

class Solution {
public:
    vector<vector<int>> levelOrderBottom(TreeNode* root) {
        if (!root) return {};
        vector<vector<int>> ret;
        queue<TreeNode*> q;
        q.push(root);
        while (!q.empty()) {
            int size = q.size();
            vector<int> temp;
            for (int i = 0; i < size; ++i) {
                TreeNode* node = q.front();
                temp.push_back(node->val);
                q.pop();
                if (node->left) q.push(node->left);
                if (node->right) q.push(node->right);
            }
            ret.push_back(temp);
        }
        reverse(ret.begin(), ret.end());
        return ret;
    }
};

猜你喜欢

转载自blog.csdn.net/aa568551096/article/details/84606486
107
今日推荐