leetcode---binary-tree-level-order-traversal-ii---树层次遍历
来源:互联网 发布:javascript setdate 编辑:程序博客网 时间:2024/05/19 13:05
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.
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}”.
/** * Definition for binary tree * 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) { queue<TreeNode *> q; vector<vector<int> > ans; if(!root) return ans; q.push(root); stack<vector<int> > s; while(!q.empty()) { vector<int> v; queue<TreeNode *> q1; while(!q.empty()) { TreeNode *p = q.front(); q.pop(); v.push_back(p->val); if(p->left) q1.push(p->left); if(p->right) q1.push(p->right); } q = q1; if(!v.empty()) s.push(v); } while(!s.empty()) { vector<int> v = s.top(); s.pop(); ans.push_back(v); } return ans; }};
阅读全文
0 0
- leetcode---binary-tree-level-order-traversal-ii---树层次遍历
- leetCode解题报告之Binary Tree Level Order Traversal II,I(二叉树层次遍历)
- LeetCode OJ 之 Binary Tree Level Order Traversal II (二叉树的层次遍历-二)
- 107.LeetCode Binary Tree Level Order Traversal II(easy)[二叉树层次遍历 广度搜索 队列]
- Leetcode 107. Binary Tree Level Order Traversal II 二叉树层次遍历2 解题报告
- Leetcode#107. Binary Tree Level Order Traversal II (queue二叉树层次遍历)
- leetcode---Binary Tree Zigzag Level Order Traversal---层次遍历
- 70.Binary Tree Level Order Traversal II-二叉树的层次遍历 II(中等题)
- Binary Tree Level Order Traversal II(层次遍历二叉树II)
- [Lintcode]Binary Tree Level Order Traversal II 二叉树的层次遍历 II
- [leetcode-二叉树层次遍历并统计每层节点数]--107. Binary Tree Level Order Traversal II
- 【leetcode 层序遍历】Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II 二叉树层次遍历(广搜,queue)(重重)
- Binary Tree Level Order Traversal I和II 层次遍历二叉树
- 107. Binary Tree Level Order Traversal II (二叉树由底向上层次遍历)
- 【二叉树层次遍历】Binary Tree Level Order Traversal
- LeetCode(Binary Tree Level Order Traversal, 2,Zigzag)二叉树的层次遍历
- LeetCode OJ 之 Binary Tree Level Order Traversal (二叉树的层次遍历)
- python list extend用法
- mysql中的存储过程的使用基础一
- 【dfs+贪心】【cofun1624】斗地主
- Mysql之inner join,left join,right join
- java实现使用JDBC-ODBC桥操作数据库。
- leetcode---binary-tree-level-order-traversal-ii---树层次遍历
- 虚拟地址映射小结
- git使用从零到一
- C# 解决约瑟夫环问题
- 论复盘的正确姿势2.0
- DB2中的DML竟然包含select
- 看图说话之二叉堆(优先队列)——java实现
- SpringMVC之拦截器(interceptors)的简介及用法
- leetcode题解-4. Median of Two Sorted Arrays