Leetcode: Binary Tree Level Order Traversal II
来源:互联网 发布:人工智能雄帝科技 编辑:程序博客网 时间:2024/06/06 17:48
题目:
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]]
分析:
这道题目跟上道题目很相似 Leetcode: Binary Tree Level Order Traversal ,唯一不同的就是返回结果是从子叶节点到根节点,所以我们只需要将结果翻转下就好了!
参考代码:
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution{private: void visit(TreeNode *node, int depth, vector<vector<int>> &result) { if (node == NULL) { return; } if (result.size() > depth) { result[depth].push_back(node->val); } else { vector<int> level; level.push_back(node->val); result.push_back(level); } visit(node->left, depth + 1, result); visit(node->right, depth + 1, result); }public: vector<vector<int>> levelOrderBottom(TreeNode *root) { vector<vector<int>> result; visit(root, 0, result); //就只有最后一句不一样,返回值对vector做了一个reverse return vector<vector<int>>(result.rbegin(), result.rend()); }};
0 0
- LeetCode: Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Level Order Traversal II
- LeetCode Binary Tree Level Order Traversal II
- [Leetcode] Binary Tree Level Order Traversal II
- LeetCode Binary Tree Level Order Traversal II
- [LeetCode] Binary Tree Level Order Traversal II
- 【leetcode】Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Level Order Traversal II
- [Leetcode]Binary Tree Level Order Traversal II
- [leetcode]Binary Tree Level Order Traversal II
- LeetCode-Binary Tree Level Order Traversal II
- LeetCode - Binary Tree Level Order Traversal II
- [LeetCode] Binary Tree Level Order Traversal II
- LeetCode | Binary Tree Level Order Traversal II
- LeetCode - Binary Tree Level Order Traversal II
- 【leetcode】Binary Tree Level Order Traversal II
- 【LeetCode】Binary Tree Level Order Traversal II
- [LeetCode] Binary Tree Level Order Traversal II
- 一个字符引发的思考
- 自建企业邮箱如何选择服务器
- MSSQL语句的性能调试(一)使用OR还是Exists
- 浅谈C++中指针和引用的区别
- 灰度变换——反转,对数变换,伽马变换,灰度拉伸,灰度切割,位图切割
- Leetcode: Binary Tree Level Order Traversal II
- 服务器端(NodeJS)使用jQuery选择器操作DOM(HTML/XML)
- 抽象工厂模式
- 前人:web开发 建议
- ubuntu server 在virtualbox中安装增强包
- 获取git中指定的目录
- android 当中taskAffinity属性与launchMode相关
- 华为手机打开Logcat
- 性能分析工具firebug.console.profile(title)