Leetcode #107 Binary Tree Level Order Traversal II

来源:互联网 发布:苹果手机java编程软件 编辑:程序博客网 时间:2024/06/07 02:49

Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).

For example:
Given binary tree {3,9,20,#,#,15,7},

    3   / \  9  20    /  \   15   7

return its bottom-up level order traversal as:

[  [15,7],  [9,20],  [3]]

Difficulty:Easy


class Solution {public:    vector<vector<int> > ans;    void push(TreeNode* root,int dep){        if(root==NULL)           return;        if(ans.size()>dep)           ans[dep].push_back(root->val);        else{            vector<int> v;            v.push_back(root->val);            ans.push_back(v);        }        push(root->left,dep+1);        push(root->right,dep+1);    }        vector<vector<int> > levelOrderBottom(TreeNode* root) {        push(root,0);        int len = ans.size();        vector<vector<int> > ans2;        for(int i = len-1;i>=0;i--)           ans2.push_back(ans[i]);        return ans2;    }    };


0 0
原创粉丝点击