Leetcode60: Binary Tree Level Order Traversal II
2015-09-16 14:23
501 查看
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
return its bottom-up level order traversal as:
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] ]
/** * 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) { queue<TreeNode*> q1; vector<vector<int>> result; vector<int> temp; if(!root) return result; q1.push(root); do { queue<TreeNode*> q2; temp.clear(); while(!q1.empty()) { TreeNode* Node = q1.front(); q1.pop(); temp.push_back(Node->val); if(Node->left) q2.push(Node->left); if(Node->right) q2.push(Node->right); } q1 = q2; result.push_back(temp); }while(!q1.empty()); reverse(result.begin(),result.end()); return result; } };
相关文章推荐
- 可视化打印一个整数的素数乘积
- 打电话、发短信、发邮件常用代码
- tiny xml
- iOS开发-语法篇-block详解
- 使用PHP ping域名或IP
- Asp.Net获取GridView当前行的方法
- JS 之 offsetWidth\offsetleft
- 支付宝钱包接口开发包2.0标准版接入与使用规则
- 在超链接href中实现form的提交
- linux信号掩码
- 谈谈对SIFT算法的理解
- python日积月累之ljust()
- Linux中history输出格式的定制
- 老生常谈各种拷贝
- Transport Layer Security (TLS)
- Android学习笔记——文件路径(/mnt/sdcard/...)、Uri(content://media/external/...)学习
- 大数据技术系列----副本更新策略
- springMVC注解优化
- uboot和内核波特率不同
- logrotate日志轮转