层序遍历,使用队列将每层压入,定义两个队列来区分不同的层。

vector<vector<int>> levelorderTraversal(TreeNode *root)
{
vector<vector<int>> result;
vector<int>tmp;
//通过两个queue来区分不同的层次
queue<TreeNode *>current,next;
TreeNode *p = root;
current.push(p);
while (!current.empty())
{
while (!current.empty())
{
p = current.front();
current.pop();
tmp.push_back(p->val);
if (p->left != nullptr)next.push(p->left);
if (p->right != nullptr)next.push(p->right);
}
result.push_back(tmp);
tmp.clear();
//交换并将next清空,
swap(current, next);
} return result;
}

最新文章

  1. PHP 数组浅析
  2. 工作邮件loop的用法
  3. git 创建远程分支和删除 master 分支
  4. redis哨兵配置主从
  5. selenium webdriver python 环境搭建
  6. PHP数组按引用传递
  7. SQL 创建存储过程,让主键自增
  8. A discussion of Dead Connection Detection, Resource Limits, V$SESSION, V$PROCESS and OS processes
  9. jQuery ajaxForm和 ajaxSubmit注意
  10. TCP/IP协议学习(一)
  11. php include 绝对路径 dirname(__FILE__)
  12. [UnityAPI]SerializedObject类 &amp; SerializedProperty类
  13. Gym - 101002K:YATP (树分治+二分+斜率优化)
  14. Java课程作业之动手动脑(六)
  15. windows环境下简单Jenkins持续集成搭建
  16. 满帮集团CEO:未来将向“智慧型”公司转变,要成为一家生态公司
  17. D. Flowers Codeforces Round #271(div2)
  18. Office 365实现单点登录系列(1)&mdash;域环境搭建
  19. 设计模式 -- 桥接模式(Bridge)
  20. chrome安装vue-devtools

热门文章

  1. BZOJ3144:[HNOI2013]切糕——题解
  2. BZOJ1036:[ZJOI2008]树的统计——题解
  3. BZOJ3675 [Apio2014]序列分割 【斜率优化dp】
  4. 将shell返回的结果保存至数组
  5. MongoDB插入数据的3种方法
  6. hdu 1166线段树 单点更新 区间求和
  7. 【题解】我也不是B ifrog 1112 二分 倍增
  8. swiper 、css3制作移动端网站,折叠导航
  9. Create MSSQL Procedure
  10. Piggy-Bank(多重背包+一维和二维通过方式)