Leetcode 之Binary Tree Postorder Traversal(45)
2024-10-20 01:31:43
层序遍历,使用队列将每层压入,定义两个队列来区分不同的层。
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;
}
最新文章
- PHP 数组浅析
- 工作邮件loop的用法
- git 创建远程分支和删除 master 分支
- redis哨兵配置主从
- selenium webdriver python 环境搭建
- PHP数组按引用传递
- SQL 创建存储过程,让主键自增
- A discussion of Dead Connection Detection, Resource Limits, V$SESSION, V$PROCESS and OS processes
- jQuery ajaxForm和 ajaxSubmit注意
- TCP/IP协议学习(一)
- php include 绝对路径 dirname(__FILE__)
- [UnityAPI]SerializedObject类 &; SerializedProperty类
- Gym - 101002K:YATP (树分治+二分+斜率优化)
- Java课程作业之动手动脑(六)
- windows环境下简单Jenkins持续集成搭建
- 满帮集团CEO:未来将向“智慧型”公司转变,要成为一家生态公司
- D. Flowers Codeforces Round #271(div2)
- Office 365实现单点登录系列(1)&mdash;域环境搭建
- 设计模式 -- 桥接模式(Bridge)
- chrome安装vue-devtools