博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(LeetCode)102. 二叉树的层序遍历
阅读量:3925 次
发布时间:2019-05-23

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

给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。

在这里插入图片描述
借用了队列:

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {
public: vector
> levelOrder(TreeNode* root) {
vector
> ret; if(root==NULL) return ret; queue
q; q.push(root); queue
l; l.push(0); // int level = 0; vector
t; int pre = 0; while (q.size()>0) { TreeNode *node = q.front(); // cout << node->val <<"*"<< endl; q.pop(); int level = l.front(); l.pop(); if (level == pre) { t.push_back(node->val); } else { ret.push_back(t); t.clear(); t.push_back(node->val); // cout << "^^" << ret.size()<< endl; pre = level; } int flag = 0; if (node->left != NULL) { q.push(node->left); level++; flag = 1; l.push(level); } if (node->right != NULL) { q.push(node->right); if (flag == 0) level++; l.push(level); } } ret.push_back(t); return ret; }};

转载地址:http://ieugn.baihongyu.com/

你可能感兴趣的文章
C#实现网页加载后将页面截取成长图片
查看>>
C# 在自定义的控制台输出重定向类中整合调用方信息
查看>>
C# 9 新特性 —— 补充篇
查看>>
Asp.Net Core使用Skywalking实现分布式链路追踪
查看>>
浅谈CLR基础知识
查看>>
Xamarin使XRPC实现接口/委托远程调用
查看>>
如何成功搞垮一个团队?
查看>>
.NET开源5年了,这些宝藏你还没get?
查看>>
【日常排雷】 .Net core 生产环境appsetting读取失败
查看>>
从内存中释放Selenium chromedriver.exe
查看>>
如何在 C# 中使用 MSMQ
查看>>
小试elsa
查看>>
巧用 Lazy 解决.NET Core中的循环依赖关系
查看>>
微前端架构在容器平台的应用
查看>>
C# 中的 null 包容运算符 “!” —— 概念、由来、用法和注意事项
查看>>
仓储模式到底是不是反模式?
查看>>
【One by One系列】IdentityServer4(一)OAuth2.0与OpenID Connect 1.0
查看>>
为什么人和人的差距这么大?
查看>>
ML.NET 推荐引擎中一类矩阵因子分解的缺陷
查看>>
微软2020开源回顾:止不住的挨骂,停不下的贡献
查看>>