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

leecode111——二叉树最短路径

递归三部曲:

最小深度是从根节点到最近叶子节点的最短路径上的节点数量

(1)确定参数和返回值,

参数为传入根节点,再根据此遍历左右左右树的节点。返回最短路径,即int类型。

(2)确定终止条件:

当root节点为空时,返回0
当 root 节点左右孩子都为空时,返回 1

(3)确定单层递归条件

当 root 节点左右孩子有一个为空时,返回不为空的孩子节点的深度
当 root 节点左右孩子都不为空时,返回左右孩子较小深度的节点值

我最开始写的:
int leftDepth = getDepth(node->left);
int rightDepth = getDepth(node->right);
int result = 1 + min(leftDepth, rightDepth);
return result;
这样就犯了误区;
在这里插入图片描述

class Solution {public int minDepth(TreeNode root) {if(root==null){return 0;}else if(root.left==null&&root.right==null){return 1;}else{int leftDepth=minDepth(root.left);//遍历的9int rightDepth=minDepth(root.right);//遍历的20,最终为2if(leftDepth==0){return rightDepth+1;}else if(rightDepth==0){return leftDepth+1;}else{int cur=Math.min(leftDepth,rightDepth)+1;return cur;}}}  
}
http://www.lryc.cn/news/66247.html

相关文章:

  • Swift学习教程大纲
  • HTML 基础知识
  • 国考省考结构化面试:综合分析题,名言哲理(警句观点启示)、漫画反驳题等
  • 【前端面经】CSS-浮动和清除浮动的方式
  • 【Android取证篇】ADB版本更新详细步骤
  • 【rust】| 02——语法基础_变量(不可变?)和常量
  • JavaScript实现在键盘输入按键,浏览器进行显示的代码
  • 精炼计算机网络——物理层(二)
  • ChatGPT直接访问,Edge浏览器-免费ChatGPT保姆级教程
  • 1010. 总持续时间可被 60 整除的歌曲
  • 基于Spring Boot的婚恋系统
  • unity愤怒的小鸟学习制作(一)
  • 建筑专业可以转行学云计算吗?
  • 网络安全:namp扫描工具
  • java错题总结(19-21页)
  • 总结846
  • [ubuntu][原创]ubuntu上安装stable-diffusion-webui
  • 【数组排序算法】
  • 制造企业选择库存管理条码工具需要关注哪些点?
  • SPI配置
  • 给你们讲个笑话——低代码会取代程序员
  • Kotlin的出现无疑是为了超越Java而存在
  • 基于C#开发 B/S架构的实验室管理系统 云LIS系统(MVC + SQLserver + Redis)
  • Webpack5有哪些更新?
  • 前端Vue
  • SpringCloud 分布式事务组件之Seata
  • @TransactionalEventListener的使用和实现原理
  • 没计算机基础,就是评职称用的,软考中级哪个好考啊?
  • 数字化战略,如何解读企业财务报表
  • JAVA14新特性