我是靠谱客的博主 从容大船,最近开发中收集的这篇文章主要介绍Binary Tree Level Order Traversal II,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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,null,null,15,7],

3
/ 
9
20
/

15
7

return its bottom-up level order traversal as:

[
[15,7],
[9,20],
[3]
]
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    vector<vector<int>> levelOrderBottom(TreeNode* root) 
    {
        vector<vector<int>> ret;
        if(NULL == root)
            return ret;         
        queue<TreeNode *> q;
        q.push(root);
        while(!q.empty())
        {
            vector<int> level;
            for(int i = 0, n = q.size(); i < n; ++ i)
            {
                TreeNode *temp = q.front();
                q.pop();
                if(temp -> left != NULL)
                    q.push(temp -> left);
                if(temp -> right != NULL)
                    q.push(temp -> right);
                level.push_back(temp -> val);
            }
            ret.push_back(level);
        }
        reverse(ret.begin(), ret.end());
        return ret;
    }
};

最后

以上就是从容大船为你收集整理的Binary Tree Level Order Traversal II的全部内容,希望文章能够帮你解决Binary Tree Level Order Traversal II所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部