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

数据结构之二叉树的暴力删除

删除节点

删除某个节点,如果非叶子节点,则将其下对应的子树均删除,纯属暴力删除,代码如下:

/*** 删除节点, 如果该节点有子树的话, 将子树一起删除*/public void deleteById(Integer id) {if (Objects.isNull(id)) {System.out.println("id为空, 无需处理");return;}PersonNode left = this.getLeft();if (Objects.nonNull(left)) {if (id.equals(left.getData().getId())) {this.setLeft(null);} else {this.getLeft().deleteById(id);}}PersonNode right = this.getRight();if (Objects.nonNull(right)) {if (id.equals(right.getData().getId())) {this.setRight(null);} else {this.getRight().deleteById(id);}}}

源码与测试案例

gitee地址

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Golang | Leetcode Golang题解之第415题字符串相加
  • 直播音频解决方案
  • 牛客周赛 Round 60(思维、逆元、组合数、概率DP)
  • Java 入门指南:JVM(Java虚拟机)—— Java 类加载器详解
  • 【iOS】单例模式
  • 基于python+django+vue的图书管理系统
  • 传输层协议 —— TCP协议(上篇)
  • 学习Java(一)类和对象
  • 安卓开发,如何实现apk的代码混淆、日志混淆?
  • 音视频入门基础:AAC专题(10)——FFmpeg源码中计算AAC裸流每个packet的pts、dts、pts_time、dts_time的实现
  • 【d46】【Java】【力扣】234.回文链表
  • 详解QT元对象系统用法
  • RK3568部署DOCKER启动服务器失败解决办法
  • 实用小工具——多标签页插件Office Tab介绍
  • C++ 解析 RDP 协议
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 11111111
  • canvas 绘制双线技巧
  • download使用浅析
  • happypack两次报错的问题
  • HashMap剖析之内部结构
  • iOS编译提示和导航提示
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • LeetCode算法系列_0891_子序列宽度之和
  • NSTimer学习笔记
  • PaddlePaddle-GitHub的正确打开姿势
  • Python实现BT种子转化为磁力链接【实战】
  • swift基础之_对象 实例方法 对象方法。
  • 观察者模式实现非直接耦合
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 力扣(LeetCode)21
  • HanLP分词命名实体提取详解
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • puppet连载22:define用法
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (55)MOS管专题--->(10)MOS管的封装
  • (C11) 泛型表达式
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (二)PySpark3:SparkSQL编程
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (十六)一篇文章学会Java的常用API
  • (转)拼包函数及网络封包的异常处理(含代码)
  • .Net IE10 _doPostBack 未定义
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .net6使用Sejil可视化日志
  • .NET下的多线程编程—1-线程机制概述
  • .net中调用windows performance记录性能信息
  • .net中我喜欢的两种验证码
  • @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • [10] CUDA程序性能的提升 与 流
  • [Android Pro] android 混淆文件project.properties和proguard-project.txt
  • [BZOJ1089][SCOI2003]严格n元树(递推+高精度)