LeetCode 之 Binary Tree Level Order Traversal II
2013-11-16 20:16
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
。
只是输出的结果顺序相反,由于结果是一个vector,那么只要在上次的代码中改动一行就可以,
代码(132ms):
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}
这个题和1是一样的,看看这个
Binary Tree Level Order Traversal
。只是输出的结果顺序相反,由于结果是一个vector,那么只要在上次的代码中改动一行就可以,
把result.push_back(temp)改成result.insert(result.begin(),temp);即把压入vector的最后改成插在
vector的最开始。
代码(132ms):
class Solution { public: vector<vector<int> > levelOrderBottom(TreeNode *root) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. vector<vector<int>>result; if(!root) return result; queue <TreeNode*>q; q.push(root); q.push(NULL); vector<int>current; vector<int>&temp = current; while(!q.empty()){ TreeNode * front = q.front(); q.pop(); if(front){ //头部不为空,把头部的值压入vector //若该头部左右不为空,则入队列 temp.push_back(front->val); if(front->left) q.push(front->left); if(front->right) q.push(front->right); } else{ //头部为空,把上一次的vector整体压入result的开始 result.insert(result.begin(),temp); //若为空,说明在处理最后一个NULL,不用push等操作 if(!q.empty()){ q.push(NULL); vector<int>current; //新建的vector,用以保存下一层的数据 temp = current; } } } return result; } };
相关文章推荐
- LeetCode "Binary Tree Level Order Traversal II" using DFS
- 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 - 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---(107)Binary Tree Level Order Traversal II
- 71_leetcode_Binary Tree Level order traversalII
- 【LeetCode从零单刷】Binary Tree Level Order Traversal I & II
- leetcode7:Binary Tree Level Order Traversal II
- Leetcode Binary Tree Level Order Traversal II
- LeetCode | Binary Tree Level Order Traversal II(二叉树层序遍历II)
- [LeetCode]Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II [LeetCode]
- [leetcode] Binary Tree Level Order Traversal II