leetcode_107. Binary Tree Level Order Traversal II
来源:互联网 发布:免费证书打印软件 编辑:程序博客网 时间:2024/06/05 19:21
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]]
第一感觉是要用BFS,每一层记一个level,然后下一层这个level+1.但好像迭代的方法用DFS实现是一样的。
/** * 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>> outv; void dfs(TreeNode* root, int level){ if(root == NULL) return; if(level == outv.size()){ outv.push_back(vector<int>()); } outv[level].push_back(root->val); dfs(root->left, level+1); dfs(root->right, level+1); } vector<vector<int>> levelOrderBottom(TreeNode* root) { dfs(root, 0); return vector<vector<int> > (outv.rbegin(), outv.rend()); }};
阅读全文
0 0
- leetcode_107. Binary Tree Level Order Traversal II
- leetcode_107 Binary Tree Level Order Travelsal II
- leetcode_107. Binary Tree Level Order Traversal II 二叉树层次遍历,利用python的list特性实现队列功能
- 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
- Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- LeetCode Binary Tree Level Order Traversal II
- [LeetCode] Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- 【leetcode】Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- 如何更换MyEclipse或Eclipse的SVN
- gradle使用maven仓库出现的问题
- ReadHub android版
- FreeSWITCH安装手册
- 深入解析Android Design包——Behavior
- leetcode_107. Binary Tree Level Order Traversal II
- Vue2.0的变化(1)——vue2.0组件定义/生命周期/循环/自定义键盘/过滤器/组件通信的变化
- 遮罩层以下内容不可滚动的实现
- 【剑指Offer】面试题4:替换空格
- Vue2.0的变化(2)———vue2.0动画的变化、vue-2.0路由的变化
- Pycharm字体大小设置
- Java配置----JDK开发环境搭建及环境变量配置
- JDBC,CaseClass,JSON,Parquet和Schema五种方式创建DataFrame
- String、StringBuffer、StringBuilder的区别