博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
把二叉树打印成多行
阅读量:6318 次
发布时间:2019-06-22

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

题目描述:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。

 

class Solution {public:         vector
> Print(TreeNode* pRoot) { vector
> vec; if(pRoot == NULL) return vec; queue
q; q.push(pRoot) ; while(!q.empty()) { vector
v ; int i = 0; int j = q.size(); while(i++ < j) { TreeNode* tmp = q.front(); q.pop(); v.push_back(tmp->val); if(tmp->left) q.push(tmp->left); if(tmp->right) q.push(tmp->right); } vec.push_back(v); v.clear(); } while (!q.empty()) q.pop(); return vec; }};

除了两个vector外还要建一个queue用来存每一层的节点,用于遍历。

先将每一层的节点存入queue,遍历queue,将本身放入vector,将它的左右孩子放入队列,遍历完一遍,将vector(每一层的节点)放入vector(树的遍历)

一直循环。

 

转载于:https://www.cnblogs.com/Lune-Qiu/p/8875314.html

你可能感兴趣的文章
kendo grid输入框验证方法
查看>>
[转]一致性哈希算法及其在分布式系统中的应用
查看>>
CAS与LDAP集成
查看>>
JQuery巧妙利用CSS操作打印样式
查看>>
(转载)JWebUnit做Web项目自动化测试
查看>>
牛气冲天的Iframe应用笔记
查看>>
LINQ基础概述
查看>>
emacs之配置etags-select
查看>>
搜索引擎(lucene及周边) 涉及的一些算法总结
查看>>
elasticsearch 口水篇(3)java客户端 - Jest
查看>>
在Linux下怎么确定哪个网卡对应哪个接口?
查看>>
VS2008 SP1 安装卡在 VS90sp1-KB945140-X86-CHS的解决方法
查看>>
与众不同 windows phone (17) - Graphic and Animation(画图和动画)
查看>>
wamp修改端口
查看>>
性能超越 Redis 的 NoSQL 数据库 SSDB
查看>>
[MFC] MFC 用mciSendString加载WAV资源文件
查看>>
将美丽无限放大,你会发现世界真的很美好!!!
查看>>
Android 通用获取Ip的方法(判断手机是否联网的方法)!!!
查看>>
设计模式之八(原型模式)
查看>>
基于ZooKeeper的Dubbo注册中心
查看>>