面试算法-173-二叉树的直径

news2025/2/6 7:55:43

题目

给你一棵二叉树的根节点,返回该树的 直径 。

二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。

两节点之间路径的 长度 由它们之间边数表示。

示例 1:
在这里插入图片描述

输入:root = [1,2,3,4,5]
输出:3
解释:3 ,取路径 [4,2,1,3] 或 [5,2,1,3] 的长度。

class Solution {
    public int diameterOfBinaryTree(TreeNode root) {
        int[] max = { 0 };
        dfs(root, max);
        return max[0];
    }

    public int dfs(TreeNode root, int[] max) {
        if (root == null) {
            return 0;
        }

        int[] maxLeft = { 0 };
        int left = dfs(root.left, maxLeft);
        int[] maxRight = { 0 };
        int right = dfs(root.right, maxRight);

        max[0] = Math.max(maxLeft[0], maxRight[0]);
        max[0] = Math.max(max[0], left + right);

        return Math.max(left, right) + 1;
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux的线程概念

目录 1.原理 2.线程的周边概念 3.创建线程的接口 1.pthread_create 2.pthread_join 3.pthread_detach 4.终止线程 5.C11封装的多线程库 4.线程库的大概结构 5.__thread(只能修饰内置类型) 6.线程的互斥 1.了解原理 2.加锁 1.接口 2.代码示…

护网 | 如何从蓝队初级进化到蓝队中级

了解应急响应的流程 1)首先判断服务器资产、影响范围以及严重程度,确认有没有必要将服务器下线隔离,然后根据服务器的失陷时间和态势感知的告警,判断是由什么漏洞进来的 2)其次就是取证排查阶段,如果是w…

get_program_dir() Ai回答是一个函数,用于获取当前程序.exe的目录。

#include <iostream> #include <filesystem>std::string get_program_dir() {return std::filesystem::current_path().string(); }int main() {// 调用函数获取当前程序的目录std::string program_dir get_program_dir();std::cout << "当前程序的目录…

认识一下RAG

1.RAG技术背景与挑战 2.RAG的核心概念 3.RAG的工作流程与架构 4.RAG的优化方法 RAG的提出 •Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks是一篇重要的论文(2020年5月) •REALM: Retrieval-Augmented Language Model Pre-Training (2020)就将BERT预训练模…

Go微服务: 服务限流原理, 负载均衡与API网关

微服务里面的限流 (uber/limit)概述 go 微服务保稳三剑客: 熔断&#xff0c;限流&#xff0c;负载均衡限流的作用 限制流量&#xff0c;在服务端生效 注意&#xff1a;熔断是客户端生效 保护后端服务 餐厅吃饭排队的问题&#xff0c;提供凳子&#xff0c;让等候&#xff0c;这就…

创建k8s deploy yaml文件的imagePullSecrets语句

镜像仓库是harbor kubectl create secret docker-registry key --docker-server192.168.0.190 --docker-usernameadmin --docker-passwordHarbor12345

【网络安全入门】什么是网络安全?

如今&#xff0c;组织的信息系统和数据面临着许多威胁。而人们了解网络安全的所有基本要素是应对这些威胁的第一步。 网络安全是确保信息完整性、机密性和可用性(ICA)的做法。它代表了应对硬盘故障、断电事故&#xff0c;以及来自黑客或竞争对手攻击等防御和恢复能力。而后者包…

解析数据科学,探索ChatGPT背后的奥秘

在当今这个由数据驱动和AI蓬勃发展的时代&#xff0c;数据科学作为一门融合多种学科的综合性领域&#xff0c;对于推动各行各业实现数字化转型升级起着至关重要的作用。近年来&#xff0c;大语言模型技术发展态势强劲&#xff0c;为数据科学的进步做出了巨大贡献。其中&#xf…

如何保护企业邮箱数据安全?看这里

在数字化时代&#xff0c;电子邮件已成为日常生活和商务交流的重要工具。然而&#xff0c;随着网络威胁的日益严峻&#xff0c;确保电子邮件通信的安全性至关重要。在此背景下&#xff0c;电子邮件SSL证书&#xff08;Secure Sockets Layer Certificate&#xff09;作为一项关键…

面试算法-175-将有序数组转换为二叉搜索树

题目 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,-3,null,9] 也将被视…

架构设计-灰度发布系统架构设计

灰度发布的定义 互联网产品需要快速迭代开发上线&#xff0c;又要保证质量&#xff0c;保证刚上线的系统&#xff0c;一旦出现问题可以很快控制影响面&#xff0c;就需要设计一套灰度发布系统。 灰度发布系统的作用&#xff0c;可以根据配置&#xff0c;将用户的流量导到新上…

vue webpack打包配置生成的源映射文件不包含源代码内容、加密混淆压缩

前言&#xff1a;此案例使用的是vue-cli5 一、webpack源码泄露造成的安全问题 我们在打包后部署到服务器上时&#xff0c;能直接在webpack文件下看到我们项目源码&#xff0c;代码检测出来是不安全的。如下两种配置解决方案&#xff1a; 1、直接在项目的vue.config.js文件中加…

微信预约怎么做_体验便捷的服务

在这个快节奏的时代&#xff0c;时间显得格外珍贵。无论是工作还是生活&#xff0c;我们都渴望能够用最短的时间完成更多的事情。在这样的背景下&#xff0c;微信预约应运而生&#xff0c;成为我们追求高效、便捷生活的新宠。今天&#xff0c;就让我们一起探讨微信预约的魅力&a…

40.原子累加器

java8之后&#xff0c;新增了专门用于计数的类&#xff0c;LongAccumulator,LongAdder的性能高于AtomicLong。 LongAdder 性能 > AtomicLong 性能 性能高的原因&#xff1a;如果都往一个共享变量上面进行累加&#xff0c;那么比较重试的次数肯定就多&#xff1b;如果分成几…

欧拉函数(模板题)

给定 n 个正整数 ai&#xff0c;请你求出每个数的欧拉函数。 欧拉函数的定义 输入格式 第一行包含整数 n。 接下来 n 行&#xff0c;每行包含一个正整数 ai。 输出格式 输出共 n 行&#xff0c;每行输出一个正整数 ai 的欧拉函数。 数据范围 1≤n≤100, 1≤ai≤2109 输…

云仓酒庄培训人数破大世界基尼斯纪录,社会影响力持续发酵

近日&#xff0c;云仓酒庄举办的《综合品酒师》培训活动圆满落幕&#xff0c;其参与人数之众&#xff0c;规模之大&#xff0c;成功刷新了大世界基尼斯纪录&#xff0c;引发了社会各界的广泛关注与热烈讨论。这一事件不仅彰显了云仓酒庄在酒类培训领域的专业化与系统化&#xf…

探索C# 11与.NET 7:入门指南与跨平台开发

&#x1f482; 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】&#x1f91f; 一站式轻松构建小程序、Web网站、移动应用&#xff1a;&#x1f449;注册地址&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交…

为什么那么多人喜欢Python?学习Python能为我们带来哪些优势?

Python是现在最火的编程语言&#xff0c;没有之一。那么&#xff0c;相对于其他语言&#xff0c;为什么那么多人喜欢Python&#xff1f;学习Python能为我们带来哪些优势&#xff1f;今天&#xff0c;小编就来和大家探讨一下&#xff01; 1、如果想成为一名程序员的话&#xff…

博将资本荣获杭州市清廉民营企业建设示范单位

2024年3月25日&#xff0c;杭州召开全市清廉民营企业建设现场推进会&#xff0c;引导广大民营企业家努力把清廉民企建设成效转化企业发展的强劲动力&#xff0c;形成杭州民营经济领域风清气正的良好生态。省纪委、省委统战部、省工商联相关领导&#xff0c;市直16家相关单位分管…

如何下载省,市,区县行政区Shp数据

摘要&#xff1a;一般非专业的GIS应用通常会用到省市等行政区区划边界空间数据做分析&#xff0c;本文简单介绍了如何在互联网上下载省&#xff0c;市&#xff0c;区县的shp格式空间边界数据&#xff0c;并介绍了一个好用的在线数据转换工具&#xff0c;并且开源。 目录 一、下…