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

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

剑指offer-把二叉树打印成多行

 

题目描述

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

 

 题解:

    使用bfs。

 

/*struct TreeNode {    int val;    struct TreeNode *left;    struct TreeNode *right;    TreeNode(int x) :            val(x), left(NULL), right(NULL) {    }};*/class Solution {public:        vector
> Print(TreeNode* pRoot) { vector
> ans; if(pRoot == NULL){ return ans; } TreeNode* tmp; queue
sq; sq.push(1); queue
sqr; sqr.push(pRoot); int tmp_int, cur_layer = 1; vector
elem; while(!sqr.empty()){ tmp = sqr.front(); sqr.pop(); tmp_int = sq.front(); sq.pop(); if(tmp_int != cur_layer){ ans.push_back(elem); elem.clear(); cur_layer = tmp_int; } elem.push_back( tmp->val ); if(tmp->left){ sqr.push( tmp->left ); sq.push(tmp_int + 1); } if(tmp->right){ sqr.push( tmp->right ); sq.push(tmp_int + 1); } } ans.push_back(elem); return ans; } };

  

 

转载于:https://www.cnblogs.com/zhang-yd/p/6618347.html

你可能感兴趣的文章
NGUI3.7的自适应问题
查看>>
CDH安装系统环境准备——系统版本和安装包下载地址指南
查看>>
Ubuntu安装配置mongodb
查看>>
Hibernate学习(一)创建数据表
查看>>
Java实现大批量数据导入导出(100W以上) -(一)导入
查看>>
BZOJ2721 [Violet 5]樱花
查看>>
区分Activity的四种加载模式---以及Intent的setFlags
查看>>
JS正则表达式
查看>>
CocosCreator游戏开发---菜鸟学习之路(二)SocketIO简易教程
查看>>
Linux c++ 转string模板函数,写文件
查看>>
使用eclipse开发webService很简单
查看>>
PostgreSQL索引页
查看>>
GNU make manual 翻译(十七)
查看>>
java文件下载
查看>>
Oracle客户端使用sqlldr导数据中文乱码问题解决方法
查看>>
如何优化tomcat配置(从内存、并发、缓存4个方面)优化
查看>>
mysql索引的种类及语法
查看>>
软件工程课程周学习进度报告——第四周
查看>>
记录几个网址
查看>>
优秀前端教程:实现图片的形状遮罩和动画放大效果
查看>>