Binary Tree Level Order Traversal
来源:互联网 发布:org.apache.poi maven 编辑:程序博客网 时间:2024/05/18 00:23
class Solution {
public:
vector<vector<int>> levelOrder(TreeNode* root) {
queue<TreeNode*> Q1,Q2;
vector<int>level;
vector<vector<int>>result;
TreeNode* node;
int i=0;
if(root==NULL) return result;
Q1.push(root);
while(!Q1.empty())
{
while(!Q1.empty())
{
node=Q1.front();
level.push_back(node->val);
Q1.pop();
if(node->left!=NULL)
Q2.push(node->left);
if(node->right!=NULL)
Q2.push(node->right);
}
result.push_back(level);
level.clear();
swap(Q2,Q1);
}
return result;
}
public:
vector<vector<int>> levelOrder(TreeNode* root) {
queue<TreeNode*> Q1,Q2;
vector<int>level;
vector<vector<int>>result;
TreeNode* node;
int i=0;
if(root==NULL) return result;
Q1.push(root);
while(!Q1.empty())
{
while(!Q1.empty())
{
node=Q1.front();
level.push_back(node->val);
Q1.pop();
if(node->left!=NULL)
Q2.push(node->left);
if(node->right!=NULL)
Q2.push(node->right);
}
result.push_back(level);
level.clear();
swap(Q2,Q1);
}
return result;
}
};
层序遍历,需要两层循环。 容器可以用vector直接清零。SWAP可以交换队列
0 0
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal
- 代理服务器与反向代理服务器
- 两个python小知识点
- POJ3693:Maximum repetition substring(后缀数组+RMQ)
- Linux udev 动态管理Oracle ASM磁盘-实验
- mybatis关于传递参数问题
- Binary Tree Level Order Traversal
- Java中的垃圾回收
- 赋值运算符和赋值表达式
- java静态方法的重写,为什么不能?
- LTE中的随机接入过程
- (网络层)IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)
- js的闭包概念
- Android工程目录结构详解
- 百度之星初赛第二场1005