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,#,#,15,7},
3
/ \
9 20
/ \
15 7
return its bottom-up level order traversal as:
[ [15,7] [9,20], [3], ]
confused what "{1,#,2,3}" means > read more on how binary tree is serialized on OJ.
对于反转的操作也是Leetcode惯出的题目,或者说面试惯考的题目,知道怎么应付就好办,顺序遍历,然后reverse就可以了。
class Solution {
public:
vector
> levelOrderBottom(TreeNode *root)
{
vector
> v; if (!root) return v; queue
qt1; qt1.push(root); queue
qt2; vector
itmedia; while (!qt1.empty()) { while (!qt1.empty()) { TreeNode *t = qt1.front(); qt1.pop(); itmedia.push_back(t->val); if (t->left) qt2.push(t->left); if (t->right) qt2.push(t->right); } v.push_back(itmedia); itmedia.clear(); qt2.swap(qt1); } reverse(v.begin(), v.end()); return v; } };