### 2.5.3 二叉树的基本操作

2.5.3 二叉树的基本操作

// 获取树中节点的个数
int size(Node root);// 获取叶子节点的个数
int getLeafNodeCount(Node root);// 子问题思路-求叶子结点个数// 获取第K层节点的个数
int getKLevelNodeCount(Node root,int k);// 获取二叉树的高度
int getHeight(Node root);// 检测值为value的元素是否存在
Node find(Node root, int val);//层序遍历
void levelOrder(Node root);// 判断一棵树是不是完全二叉树
boolean isCompleteTree(Node root)

// 获取树中节点的个数
int size(Node root);
在这里插入图片描述
// 获取叶子节点的个数
int getLeafNodeCount(Node root);
在这里插入图片描述
// 子问题思路-求叶子结点个数
在这里插入图片描述
// 获取第K层节点的个数
int getKLevelNodeCount(Node root,int k);
在这里插入图片描述
// 获取二叉树的高度
int getHeight(Node root);
在这里插入图片描述
放oj上的话 法二有可能溢出 因为法二计算了2遍 法一直接把当前的记录下来避免了重复运算造成的算法效率的降低

// 检测值为value的元素是否存在
Node find(Node root, int val);
在这里插入图片描述
//层序遍历
void levelOrder(Node root);
在这里插入图片描述
// 判断一棵树是不是完全二叉树
boolean isCompleteTree(Node root)
在这里插入图片描述

在这里插入图片描述

2.6 二叉树相关oj题

  1. 检查两颗树是否相同。OJ链接
    在这里插入图片描述
    在这里插入图片描述
  2. 另一颗树的子树。OJ链接
    在这里插入图片描述
    if(root==null)易漏掉 会导致空指针异常
  3. 翻转二叉树。OJ链接
    在这里插入图片描述
  4. 判断一颗二叉树是否是平衡二叉树。OJ链接
    可以在求树高度的过程中判断树是否平衡
    在这里插入图片描述
  5. 对称二叉树。OJ链接
    在这里插入图片描述
  6. 二叉树的构建及遍历。OJ链接
    在这里插入图片描述
    在这里插入图片描述
    注意:public static int i最好把static去掉 否则当有多个测试用例时 i无法重新为0
  7. 二叉树的分层遍历 。OJ链接
    层序遍历如下:
    在这里插入图片描述
    但此题要求返回List<List < Integer > >
    代码应更新如下:
    在这里插入图片描述
    在这里插入图片描述
  8. 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先 。OJ链接
  9. 根据一棵树的前序遍历与中序遍历构造二叉树。 OJ链接
  10. 根据一棵树的中序遍历与后序遍历构造二叉树([课堂不讲解,课后完成作业])。OJ链接
  11. 二叉树创建字符串。OJ链接
  12. 二叉树前序非递归遍历实现 。OJ链接
    在这里插入图片描述
  13. 二叉树中序非递归遍历实现。OJ链接
    在这里插入图片描述
  14. 二叉树后序非递归遍历实现。OJ链接
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7244.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计新的 Kibana 仪表板布局以支持可折叠部分等

作者&#xff1a;来自 Elastic Teresa Alvarez Soler, Hannah Mudge 及 Nathaniel Reese 在 Kibana 中构建可折叠仪表板部分需要彻底改造嵌入式系统并创建自定义布局引擎。这些更新改进了状态管理、层次结构和性能&#xff0c;同时为新的高级仪表板功能奠定了基础。 我们正在开…

怎么样把pdf转成图片模式(不能复制文字)

贵但好用的wps&#xff0c; 转换——转为图片型pdf —————————————————————————————————————————— 转换前&#xff1a; 转换后&#xff1a; 肉眼可见&#xff0c;模糊了&#xff0c;且不能复制。 其他免费办法&#xff0c;参考&…

PAT甲级-1023 Have Fun with Numbers

题目 题目大意 一个数乘以2倍后&#xff0c;仍由原来的数字组成&#xff0c;只不过顺序发生变化&#xff0c;就输出Yes&#xff0c;否则输出No。并输出乘以2部后的数。 思路 题目说数字不超过20位&#xff0c;long long最多只能表示19位&#xff0c;93....&#xff0c;超过其…

系统架构设计师教材:信息系统及信息安全

信息系统 信息系统的5个基本功能&#xff1a;输入、存储、处理、输出和控制。信息系统的生命周期分为4个阶段&#xff0c;即产生阶段、开发阶段、运行阶段和消亡阶段。 信息系统建设原则 1. 高层管理人员介入原则&#xff1a;只有高层管理日恩怨才能知道企业究竟需要什么样的…

CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测(Matlab完整源码和数据)

CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测&#xff08;Matlab完整源码和数据&#xff09; 目录 CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测&#xff08;Matlab完整源码和数据&#xff09;预测效果基本介绍 CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测一…

我谈区域偏心率

偏心率的数学定义 禹晶、肖创柏、廖庆敏《数字图像处理&#xff08;面向新工科的电工电子信息基础课程系列教材&#xff09;》P312 区域的拟合椭圆看这里。 Rafael Gonzalez的二阶中心矩的表达不说人话。 我认为半长轴和半短轴不等于特征值&#xff0c;而是特征值的根号。…

每日进步一点点(网安)

1.1 level5 查看源码关键部分 $str strtolower($_GET["keyword"]); $str2str_replace("<script","<scr_ipt",$str); $str3str_replace("on","o_n",$str2);<input namekeyword value".$str3.">关键…

centos操作系统上以service形式运行blackbox_exporter监控网页端口

文章目录 前言一、blackbox_exporter是什么二、使用步骤1.获取二进制文件2.准备部署脚本3.执行命令&#xff0c;进行部署4.prometheus中增加需要监控页面的job信息 三、查看部署结果四、配置到grafana中总结 前言 记录一下centos操作系统上以简单的service形式运行blackbox_ex…

【阅读笔记】基于图像灰度梯度最大值累加的清晰度评价算子

本文介绍的是一种新的清晰度评价算子&#xff0c;基于图像灰度梯度最大值累加 一、概述 目前在数字图像清晰度评价函数中常用的评价函数包括三类&#xff1a;灰度梯度评价函数、频域函数和统计学函数&#xff0c;其中灰度梯度评价函数具有计算简单&#xff0c;评价效果好等优…

数据库设计

七、存储管理 1、存储介质 存储层次 存储分类 访问速度分类&#xff1a;主存储器、二级存储器、三级存储器操作分类&#xff1a;读操作、写操作联机分类&#xff1a;联机、脱机访问方式分类&#xff1a;随机访问、顺序访问读写单位分类&#xff1a;字节、块 存储介质分类 易…

到华为考场考HCIE的注意事项和考试流程

大家好&#xff0c;我是张同学&#xff0c;来自成都职业技术学院2021级计算机网络专业。最近成功通过了 Datacom HCIE 考试&#xff0c;在这里和大家分享一下我的经验。 考证契机 在母校的培养下&#xff0c;我接触到ICT这个行业&#xff0c;打好了基础&#xff0c;开始了成…

海外问卷调查如何影响企业的经营?在品牌建设中有何指导意义?

市场调查的定义&#xff1a;通过科学的方法&#xff0c;有目的地、系统地搜集整理一些市场信息&#xff0c;其目的在于了解当下市场现状和发展前景&#xff0c;为企业生产和品牌打造提供一些科学的指导意见&#xff0c;这是任何大企业、中小企业、初创企业都必须重视的一个重要…

hedfs和hive数据迁移后校验脚本

先谈论校验方法&#xff0c;本人腾讯云大数据工程师。 1、hdfs的校验 这个通常就是distcp校验&#xff0c;hdfs通过distcp迁移到另一个集群&#xff0c;怎么校验你的对不对。 有人会说&#xff0c;默认会有校验CRC校验。我们关闭了&#xff0c;为什么关闭&#xff1f;全量迁…

Unity3D仿星露谷物语开发25之创建时钟界面

1、目标 在时钟界面显示当前时钟信息&#xff0c;同时设置特殊按钮可以快速推进时间用于测试。 2、创建GameClock.cs脚本 在Assets -> Scripts -> TimeSystem目录下创建GameClock.cs脚本。 代码如下&#xff1a; using System.Collections; using System.Collections…

使用Vue3实现可拖拽的九点导航面板

开篇 本文使用Vue3实现了一个可拖拽的九宫导航面板。这个面板在我这里的应用场景是我个人网站的首页的位置&#xff0c;九宫导航对应的是用户最后使用或者最多使用的九个功能&#xff0c;正常应该是由后端接口返回的&#xff0c;不过这里为了简化&#xff0c;写的是固定的数组数…

小利特惠源码/生活缴费/电话费/油卡燃气/等充值业务类源码附带承兑系统

全新首发小利特惠/生活缴费/电话费/油卡燃气/等充值业务类源码附带U商承兑系统 安装教程如下 图片:

FlinkSql使用中rank/dense_rank函数报错空指针

问题描述 在flink1.16(甚至以前的版本)中&#xff0c;使用rank()或者dense_rank()进行排序时&#xff0c;某些场景会导致报错空指针NPE(NullPointerError) 报错内容如下 该报错没有行号/错误位置&#xff0c;无法排查 现状 目前已经确认为bug&#xff0c;根据github上的PR日…

C语言精粹:深入探索字符串函数

大家好&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 本文目录 引言正文&#xff08;1&#xff09;常见字…

微信阅读网站小程序的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

RabbitMQ 死信队列

文章目录 前言1、死信交换机 DLX 与死信队列 DLQ2、死信队列的实现2.1、声明原队列信息2.2、声明死信队列信息2.3、完整示例 3、死信消息流转原理 前言 消息过期以后&#xff0c;如果没有任何配置&#xff0c;是会直接丢弃的。我们可以通过配置让这样的消息变成死信&#xff0…