leetcode-107-Binary Tree Level Order Traversal II
来源:互联网 发布:excel重复数据合并求和 编辑:程序博客网 时间:2024/06/06 05:34
问题
题目:[leetcode-107]
思路
层序遍历。
但是要保存每一层的节点。所以关键就是标记每一层的节点,
引入每一层最右端节点last。对于出队后的节点进行判断,如果是last。证明已经访问完本层所有节点,队列中目前的节点全部是下一层的节点。此时更新last即可。
代码
/** * 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) { std::vector<std::vector<int>> ret; if(!root) return ret; std::stack<std::vector<int>> stk; std::vector<int> cur_lev; std::queue<TreeNode*> que; que.push(root); TreeNode* last = que.back(); // 记录当前层次的最后一个节点 while(!que.empty()){ TreeNode* p = que.front(); que.pop(); cur_lev.push_back(p->val); if(p->left) que.push(p->left); if(p->right) que.push(p->right); if(p == last){//访问到当前层最后一个节点 stk.push( cur_lev ); cur_lev.clear(); last = que.back(); } } while(!stk.empty()){ ret.push_back(stk.top()); stk.pop(); } return ret; }};
0 0
- 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
- 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
- primesense_No matching device found.... waiting for devices. Reason: openni2
- IE10和IE11中滑动条遮挡页面问题
- POJ 3100 Root of the Problem 可能会
- ios 属性(属性变量)和成员变量
- 继承
- leetcode-107-Binary Tree Level Order Traversal II
- Android Studio环境的搭建
- Java在程序设计题目中的妙用
- HDU 1113 Word Amalgamation
- 移动端开发demo—移动端web相册(一)
- CUDA从入门到精通
- 使用Python爬取学校学生信息!(简单爬虫)
- STRUTS2中的OGNL
- Oracle学习之:RedHat 6.5 安装 11g数据库