LeetCode——Binary Tree Level Order Traversal II
来源:互联网 发布:淘宝刷单任务书模板 编辑:程序博客网 时间:2024/05/17 08:04
题目:
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 7return 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) { if (!root) { vector<vector<int>> rtn; return rtn; } stack<vector<int>*> myStack; list<TreeNode*> a; list<TreeNode*> b; list<TreeNode*> *pCurLayer = &a; list<TreeNode*> *pNextLayer = &b; pCurLayer->push_back(root); while (!pCurLayer->empty()) { vector<int> *pVec = new vector<int>; for (list<TreeNode*>::iterator it = pCurLayer->begin(); it != pCurLayer->end(); ++it) { if ((*it)->left) { pNextLayer->push_back((*it)->left); } if ((*it)->right) { pNextLayer->push_back((*it)->right); } pVec->push_back((*it)->val); } myStack.push(pVec); list<TreeNode*> *tmp = pCurLayer; pCurLayer = pNextLayer; pNextLayer = tmp; pNextLayer->clear(); } vector<vector<int>> rtn; while (!myStack.empty()) { vector<int> *pVec = myStack.top(); rtn.push_back(*pVec); delete pVec; myStack.pop(); } return rtn; }};
0 0
- 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
- 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-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
- Java类的加载及初始化
- HashMap和Hashtable的区别
- Canvas绘图环境
- Android APK反编译 最新版 解决Could not decode arsc file
- Oracle OCP笔记(24)自动存储管理(ASM)
- LeetCode——Binary Tree Level Order Traversal II
- Python模块及函数的使用
- Linux-命令-awk
- HDOJ Sudoku Killer 1426【DFS】
- 浅谈ISIS协议
- 浅拷贝、深拷贝 Bitwise Copy和Memberwise Copy
- jsp中的include和forward
- 网站地址栏显示图片
- Ubuntu 修改MySql数据路径