博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode-102-Binary Tree Level Order Traversal]
阅读量:5934 次
发布时间:2019-06-19

本文共 1039 字,大约阅读时间需要 3 分钟。

Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).

For example:
Given binary tree [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
return its level order traversal as:
[
[3],
[9,20],
[15,7]
]

思路:

与普通层次遍历稍微不一样的地方就是,需要分出每一层的结点数据来。

如果提前知道每一层数据的个数n,那么只需要循环n次即可取出这一层的数据。那么刚好保持队列内一直为同一层的数据即可。

实现如下:

vector
> levelOrder(TreeNode* root) { queue
que; vector
>result; if (root == NULL)return result; que.push(root); while (!que.empty()) { int size = que.size();//保证que里始终是同一层的数据 vector
temp; for (int i = 0; i < size;i++) { TreeNode* node = que.front(); que.pop(); temp.push_back(node->val); if (node->left != NULL)que.push(node->left); if (node->right != NULL)que.push(node->right); } result.push_back(temp); } return result; }

 

转载于:https://www.cnblogs.com/hellowooorld/p/6641961.html

你可能感兴趣的文章
POJ2348 UVa10368 HDU1525 Euclid's Game【博弈】
查看>>
UVA101 HDU1612 POJ1208 The Blocks Problem【模拟】
查看>>
手工解码混淆字符串
查看>>
关于python如果没有numpy模块如何处理
查看>>
软工第二次作业
查看>>
【新手速成】菜鸟如何在三天内完成系统开发
查看>>
Centos6.5下 执行“ll”提示“-bash: ll: command not found”
查看>>
hdu1754 I Hate It
查看>>
使用jQuery开发一个带有密码强度检验的超酷注册页面
查看>>
求助三陀工作室
查看>>
外部浏览器网页复制公众号无法自动唤起微信并关注怎么办?
查看>>
各种数据库默认端口汇集
查看>>
JavaScript数组方法大全
查看>>
彻底弄明白之数据结构中的KMP算法
查看>>
关于html中的 script标签中的 代码写法有效性? easyui tabs的href不能载入内容页面,tab标签页中使用content: iframe加载本地内容...
查看>>
log4j:ERROR Could not connect to remote log4j server at [localhost]. We will try again later.
查看>>
You And Me
查看>>
网页(Html)转成Pdf
查看>>
关于对OC运行时机制的理解
查看>>
AutoCAD .NET二次开发(一)
查看>>