当前位置: 首页 > news >正文

打印二叉树某一层次的值(重点)

方法一:递归

 1 void printNLevel(TreeNode *root, int n)
 2 {
 3     if (root == NULL)
 4     {
 5         return ;
 6     }
 7 
 8     if (n == 1)
 9     {
10         cout << root->data << endl;
11     }
12     else
13     {
14         printNLevel(root->left, n-1);
15         printNLevel(root->right, n-1);
16     }
17 }  

 

方法二:层次遍历

 1 void TransLevel2(Node* root,int level)
 2 {
 3     if(root == NULL)
 4         return ;
 5     else
 6     {
 7         int count_levels,count_nodes,level_nodes;
 8         Node* tmp;
 9         Queue<Node*> queue;
10         queue.EnQueue(root);
11         
12         count_levels=1;
13 
14         while(!queue.IsEmpty())
15         {
16             if(count_levels == level)
17                 break;
18 
19             count_nodes = 0;
20            
21             level_nodes = queue.Size();
22             
23             while(count_nodes < level_nodes)
24             {
25                tmp = queue.DeQueue();
26 
27                if(tmp->left != NULL)
28                     queue.EnQueue(tmp->left);
29 
30                if(tmp->right != NULL)
31                     queue.EnQueue(tmp->right);
32 
33                count_nodes++;
34             }
35 
36             count_levels++;
37         }
38 
39         PrintQueue(queue);
40     }
41 }

 

转载于:https://www.cnblogs.com/yyxayz/p/4118774.html

相关文章:

  • 单例模式中用volatile和synchronized来满足双重检查锁机制
  • getName和getSimpleName方法一般使用
  • 博客迁移:https://blog.llyweb.com
  • 20141102-微信.NET-笔记
  • Java知识体系梳理
  • java 一些容易忽视的小点-数据类型和运算符篇
  • 设计模式--代理(Proxy)模式
  • 系统设计(系列二)--现上问题整理(云崩溃和服务不可用)
  • 医疗行业邮件服务器架设方案
  • Python 代码片段收藏
  • IOS--UISwitch的使用方法
  • Netty防止内存泄漏措施
  • GraphGL教程
  • 魔戒三曲,黑暗散去;人皇加冕,光明归来
  • Phpcms所有系统变量列表 Phpcms V9 文件目录结构
  • android图片蒙层
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • Javascript编码规范
  • Mac转Windows的拯救指南
  • Octave 入门
  • Python学习之路16-使用API
  • React组件设计模式(一)
  • Spring声明式事务管理之一:五大属性分析
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • vue2.0项目引入element-ui
  • webpack入门学习手记(二)
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 学习ES6 变量的解构赋值
  • ionic入门之数据绑定显示-1
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​【已解决】npm install​卡主不动的情况
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​学习一下,什么是预包装食品?​
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (1)(1.9) MSP (version 4.2)
  • (145)光线追踪距离场柔和阴影
  • (2)(2.10) LTM telemetry
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (万字长文)Spring的核心知识尽揽其中
  • (循环依赖问题)学习spring的第九天
  • (一)VirtualBox安装增强功能
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • . Flume面试题
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .cfg\.dat\.mak(持续补充)
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)