【LeetCode】Binary Tree Level Order Traversal II
2014-04-24 16:18
453 查看
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:
confused what
read more on how binary tree is serialized on OJ.
OJ's Binary Tree Serialization:
The serialization of a binary tree follows a level order traversal, where '#' signifies a path terminator where no node exists below.
Here's an example:
The above binary tree is serialized as
思路:参考Binary Tree Level Order Traversal。但是要注意最后要翻转。
代码参考下面。当然还可以使用栈来实现。这样顺序就要换一下。
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.
OJ's Binary Tree Serialization:
The serialization of a binary tree follows a level order traversal, where '#' signifies a path terminator where no node exists below.
Here's an example:
1 / \ 2 3 / 4 \ 5
The above binary tree is serialized as
"{1,2,3,#,#,4,#,#,5}".
思路:参考Binary Tree Level Order Traversal。但是要注意最后要翻转。
reverse(res.begin(),res.end());
代码参考下面。当然还可以使用栈来实现。这样顺序就要换一下。
class Solution { public: vector<vector<int> > levelOrderBottom(TreeNode *root) { // Start typing your C/C++ solution below // DO NOT write int main() function vector<vector<int> > res; vector<int> onelev; if(root==NULL)return res; queue<TreeNode *> que; que.push(root); que.push(NULL);//第一层 TreeNode *tr; while(1){ tr=que.front(); que.pop(); if(tr!=NULL){ onelev.push_back(tr->val); if(tr->left!=NULL)que.push(tr->left); if(tr->right!=NULL)que.push(tr->right); }else{ res.push_back(onelev); onelev.clear(); if(que.empty())break; que.push(NULL); } } reverse(res.begin(),res.end()); return res; } };
相关文章推荐
- LeetCode--Binary Tree Level Order Traversal II
- [Leetcode] Binary Tree Level Order Traversal II (Java)
- leetcode-Binary Tree Level Order Traversal II(2014.1.27)
- 【leetcode】Binary Tree Level Order Traversal II
- 【LeetCode】Binary Tree Level Order Traversal II
- [leetcode]Binary Tree Level Order Traversal II
- ( Leetcode 107 ) Binary Tree Level Order Traversal II
- Leetcode_107_Binary Tree Level Order Traversal II
- leetcode_c++:树: Binary Tree Level Order Traversal II (107)
- 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 107 Binary Tree Level Order Traversal II
- Leetcode 107 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
- Binary Tree Level Order Traversal II - LeetCode