1. 程式人生 > >leetcode-107 100%submissions

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;
    }
};