【重点】【二叉树】543. 二叉树的直径

news/2024/10/21 17:33:37/

题目

法1:自己想的垃圾算法

class Solution {public int diameterOfBinaryTree(TreeNode root) {if (root == null) {return 0;}int curDim = maxDepth(root.left) + maxDepth(root.right);int leftDim = diameterOfBinaryTree(root.left);int rightDim = diameterOfBinaryTree(root.right);return Math.max(curDim, Math.max(leftDim, rightDim));}public int maxDepth(TreeNode root) {if (root == null) {return 0;}return 1 + Math.max(maxDepth(root.left), maxDepth(root.right));}
}

法2:DFS好方法

合理利用全局变量, 可以大大简化问题!!!

class Solution {int ans = 0;public int diameterOfBinaryTree(TreeNode root) {if (root == null) {return 0;}maxDepth(root);return ans;}public int maxDepth(TreeNode root) {if (root == null) {return 0;}int leftDepth = maxDepth(root.left);int rightDepth = maxDepth(root.right);ans = ans > leftDepth + rightDepth ? ans : leftDepth + rightDepth;return 1 + Math.max(leftDepth, rightDepth);}
}

http://www.ppmy.cn/news/1259800.html

相关文章

2024年十大最好猫罐头有哪些?2024年10款最好的猫罐头盘点

我发现不少人有这样的困扰!买到各种数值都很好的猫罐头后,猫咪一点都不吃。或者是猫咪吃了猫罐头之后,吃了一段时间后就软便身体不舒服。 通过本文,我将与大家盘点2024年10款最好的猫罐头,并提供一些选购猫罐头的小妙招…

React 基础使用

react 是一个开源的 JavaScript 库,用于将数据渲染为 HTML 界面(只关注视图)。 react 使用了虚拟 DOM 和 Diff 算法。当数据更新后,Diff 算法会将新生成的虚拟 DOM 和之前的虚拟 DOM 进行对比,只将不同的地方更新到页…

计算机视觉-02-基于U-Net的肝脏肿瘤分割(包含数据和代码)

文章目录 1. 介绍1.1 简介1.2 任务介绍1.3 数据集介绍1.3.1 介绍1.3.2 数据预处理建议 1.5 整体流程梳理1.5.1 数据读取:从原始dcm格式读入成我们需要的数组格式1.5.2 数据预处理:上面给出了提示a. 将ct值转化为标准的hu值b. 窗口化操作c. 直方图均衡化d…

DDSP-SVC-3.0完全指南:一步步教你用AI声音开启音乐之旅

本教程教你怎么使用工具训练数据集推理出你想要转换的声音音频,并且教你处理剪辑伴奏和训练后的音频合并一起,快来试试看把! 1.使用的工具 要想训练ai声音,首先需要有各种工具,还需要我们提供你需要训练的声音&#…

前端知识笔记(十九)———px,em,rem,vw,vh之间的区别

一,px(像素):像素是屏幕上显示的最小单位,它是固定的,不随页面缩放而改变大小。在响应式设计中,使用像素单位可能会导致布局在不同屏幕尺寸上显示不一致。例如:现在在你电脑上一个字…

智加科技获全国首张重卡无人驾驶开放道路测试牌照

2023年12月1日,智加科技获得苏州市智能网联汽车无人化测试牌照。该牌照也是江苏省及国内首张无人重卡开放高速公路全路段全场景全息路网(S17苏台高速)道路测试牌照。 该重卡无人驾驶开放道路测试牌照,经由苏州市智能网联汽车联席小…

回归预测 | MATLAB实现基于LightGBM算法的数据回归预测(多指标,多图)

回归预测 | MATLAB实现基于LightGBM算法的数据回归预测(多指标,多图) 目录 回归预测 | MATLAB实现基于LightGBM算法的数据回归预测(多指标,多图)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLA…

Spring MVC学习随笔-控制器(Controller)开发详解:控制器跳转与作用域(二)视图模板、静态资源访问

学习视频:孙哥说SpringMVC:结合Thymeleaf,重塑你的MVC世界!|前所未有的Web开发探索之旅 衔接上文Spring MVC学习随笔-控制器(Controller)开发详解:控制器跳转与作用域(一) SpingMVC中…