[LeetCode] 107. Binary Tree Level Order Traversal II

107题

一、问题描述

[LeetCode] 107. Binary Tree Level Order Traversal II

二、问题分析

比103更简单,只需要得到result最后转置一次即可。

三、问题求解

针对问题分析,以下是c++源代码:

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