题目描述:

方法1:普通的层次遍历,然后反转下结果

class Solution {
public:
    void order(vector<vector<int>>& result, TreeNode* root, int length){
        if(!root) return;
        if(length==result.size()) result.push_back(vector<int>());
        result[length].push_back(root->val);
        order(result,root->left,length+1);
        order(result,root->right,length+1);
    }
    vector<vector<int>> levelOrderBottom(TreeNode* root) {
        vector<vector<int>> result;
        int length=0;
        order(result,root,length);
        reverse(result.begin(),result.end());
        return result;
    }
};