恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

代码随想录算法训练营第15天|530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236.二叉树的最近公共祖先

  • 首页
  • 资讯中心
  • /
  • 代码随想录算法训练营第15天|530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236.二叉树的最近公共祖先

相关资讯

Linux进程与线程(2) 2026/8/28 4:21:05
能效 1.5–1.9 倍、延迟 1.7–3.6 倍:OpenAI Jalapeño 首批跑分追平英伟达 GB300,单芯片额定 700W 2026/8/28 4:21:05
多协议RF与NFC:BLE MCU重塑智能设备连接与配网体验 2026/8/28 4:21:05

最新资讯

OpenAI销售高管回流Salesforce:企业级AI销售打法生变
一文掌握Agent八股
2026定量定性样本怎么选?数据质量与执行效能选型标准解析
CANoe_CANalyzer_软件安装问题基本解决方案
称重数据上云:秤的尽头是信任
小滴课堂-Redis高并发高可用集群百万级秒杀实战

今日推荐

2026学术工具专业测评|Paperxie全维度性能实测报告[特殊字符]
凭什么稳居论文工具顶流[特殊字符]Paperxie综合实力深度全解析
2026论文工具深度测评|为什么Paperxie是目前最稳的学术工具✅

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

代码随想录算法训练营第15天|530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236.二叉树的最近公共祖先

发布时间:2026/8/28 4:21:05
代码随想录算法训练营第15天|530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236.二叉树的最近公共祖先 530. 二叉搜索树的最小绝对差看到题目的第一想法如果列成数组去计算绝对差应该也不难但是不知道递归求差应该怎么做看完代码随想录的第一想法感觉跟上一题98.验证二叉搜索树很相似上一题存的是最大值去比较这道题存的是上一节点去比较用自己的话描述根据上一题的做题思路利用递归的过程存下上一个递归的节点然后让当前节点和上一个递归的节点比较得出他们之间的差值进行下一次的比较代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val val; * this.left left; * this.right right; * } * } */classSolution{privateTreeNodeprenull;privateintresultInteger.MAX_VALUE;publicintgetMinimumDifference(TreeNoderoot){findTreeNode(root);returnresult;}publicvoidfindTreeNode(TreeNoderoot){if(rootnull){return;}findTreeNode(root.left);if(pre!null){resultMath.min(result,root.val-pre.val);}preroot;findTreeNode(root.right);}}实现过程中遇到哪些困难无今日收获记录一下自己的学习时长熟悉了二叉搜索树的使用 14.02-15.00501. 二叉搜索树中的众数看到题目的第一想法想不到怎么去解这道题目看完代码随想录的第一想法不用二叉搜索树的做法就全遍历一遍翻入Map然后再转成数组进行排序最后得出结果用二叉搜索树的做法跟上一题 二叉树搜索树的最小绝对差 一样都要定义一个前一个节点的指针然后一直累计这个一样的数在二叉搜索树中众数一定是相邻的用自己的话描述看注释吧代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val val; * this.left left; * this.right right; * } * } */classSolution{TreeNodepre;intcount;intmaxCount;ArrayListIntegerresList;publicint[]findMode(TreeNoderoot){//递归三部曲//1.找到递归参数和返回值//2.找到递归的终止条件//3.找到递归的单层遍历是什么//要记录前节点用中序遍历//1.递归参数是当前节点没有返回值因为不需要判断什么只需要遍历完一遍整个二叉搜索树//2.当遇到空节点就返回//3.递归单层先进行左子树的递归看看当前的值是不是等于上一个节点的值如果不是就设置计算器为1如果是就在计算器上加1//然后再判断计数器是不是大于当前的数值大于的话就重置一下最大值等于的话就加上这个节点的数然后进入右子节点的递归prenull;count0;maxCount0;resListnewArrayList();findTreeMode(root);int[]resnewint[resList.size()];inti0;for(intr:resList){res[i]r;}returnres;}publicvoidfindTreeMode(TreeNoderoot){if(rootnull){return;}findTreeMode(root.left);if(prenull){count1;}elseif(root.valpre.val){count;}else{count1;}if(countmaxCount){resList.clear();resList.add(root.val);maxCountcount;}elseif(countmaxCount){resList.add(root.val);}preroot;findTreeMode(root.right);}}实现过程中遇到哪些困难无今日收获记录一下自己的学习时长二叉搜索树的数如果是一样那就会连续 21.31-22.47236. 二叉树的最近公共祖先看到题目的第一想法感受到了很难想不到有什么解法看完代码随想录的第一想法原来是通过对节点的判断然后找到公共祖先用自己的话描述通过递归遍历整个树然后递归的途中如果遇到指定节点就返回如果左右都是指定节点就返回当前节点算做公共祖先代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val x; } * } */classSolution{publicTreeNodelowestCommonAncestor(TreeNoderoot,TreeNodep,TreeNodeq){//递归三部曲//1.找到递归参数和返回值//2.找到递归的终止条件//3.找到递归的单层遍历是什么//因为是自底向上找数所以用后序遍历//1.递归参数为当前节点和搜索的节点pq返回值为节点如果只是找到的话返回true就行但是还要返回公共节点于是返回值为节点//2.找到qp或null就返回当前节点//3.先看当前节点是不是为null或指定节点如果是就返回当前节点//然后先将左右子节点先递归回来看看底下有没有指定的节点如果有就返回那一边的节点如果都有那当前节点就是公共祖先返回当前节点if(rootnull||rootp||rootq){returnroot;}TreeNodeleftlowestCommonAncestor(root.left,p,q);TreeNoderightlowestCommonAncestor(root.right,p,q);if(leftnullrightnull){returnnull;}elseif(left!nullrightnull){returnleft;}elseif(leftnullright!null){returnright;}else{returnroot;}}}实现过程中遇到哪些困难不能理解怎么去判断公共祖先今日收获记录一下自己的学习时长对于后序遍历的理解就是需要遍历整个树的时候就需要用到这一点更加深刻了 22.48-23.55

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号