力扣熱題100之二叉樹的直徑

題目

給你一棵二叉樹的根節點,返回該樹的 直徑 。

二叉樹的 直徑 是指樹中任意兩個節點之間最長路徑的 長度 。這條路徑可能經過也可能不經過根節點 root 。

兩節點之間路徑的 長度 由它們之間邊數表示。
在這里插入圖片描述

代碼

方法:遞歸

計算二叉樹的直徑可以理解為計算左、右子樹的深度減一相加,然后再加上根節點左右后條邊。

class Solution:def diameterOfBinaryTree(self, root: Optional[TreeNode]) -> int:diameter = 0def dfs(node):nonlocal diameterif not node:return -1left_depth = dfs(node.left)right_depth = dfs(node.right)diameter = max(diameter, left_depth + right_depth + 2)return max(left_depth, right_depth) + 1dfs(root)return diameter

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/85742.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/85742.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/85742.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

OpenCV CUDA模塊圖像處理------創建CUDA加速的Canny邊緣檢測器對象createCannyEdgeDetector()

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 該函數用于創建一個 CUDA 加速的 Canny 邊緣檢測器對象(CannyEdgeDetector),可以在 GPU 上高效執行 Canny 邊…

unix/linux,sudo,其內部結構機制

我們現在深入sudo的“引擎室”,探究其內部的結構和運作機制。這就像我們從觀察行星運動,到深入研究萬有引力定律的數學表達和物理內涵一樣,是理解事物本質的關鍵一步。 sudo 的內部結構與機制詳解 sudo 的執行流程可以看作是一系列精心設計的步驟,確保了授權的準確性和安…

什么是 TOML?

🛠 Rust 配置文件實戰:TOML 語法詳解與結構體映射( 在 Rust 中,Cargo.toml 是每個項目的心臟。它不僅定義了項目的名稱、版本和依賴項,還使用了一種輕巧易讀的配置語言:TOML。 本文將深入解析 TOML 的語法…

react native webview加載本地HTML,解決iOS無法加載成功問題

在react native中使用 “react-native-webview”: “^13.13.5”,加載HTML文件 Android: 將HTML文件放置到android/src/main/assets目錄,訪問 {uri: file:///android_asset/markmap/index.html}ios: 在IOS中可以直接可以直接放在react native項目下,訪問…

數據結構(JAVA版)練習題

(題目難易程度與題號順序無關哦) 目錄 1、多關鍵字排序 2、集合類的綜合應用問題 3、數組排序 4、球的相關計算問題 5、利用類對象計算日期 6、日期計算問題 7、星期日期的計算 8、計算坐標平面上兩點距離 9、異常處理設計問題 10、Java源文件…

04-redis-分布式鎖-redisson

1 基本概念 百度百科:控制分布式系統之間同步訪問共享資源方式。 在分布式系統中,常常需要協調他們的動作。如果不同的系統或是同一個系統的不同主機之間共享了一個或一組資源,那么訪問這些資源的時候,往往需要互斥來防止…

性能優化 - 案例篇:緩存_Guava#LoadingCache設計

文章目錄 Pre引言1. 緩存基本概念2. Guava 的 LoadingCache2.1 引入依賴與初始化2.2 手動 put 與自動加載(CacheLoader)2.2.1 示例代碼 2.3 緩存移除與監聽(invalidate removalListener) 3. 緩存回收策略3.1 基于容量的回收&…

使用jstack排查CPU飆升的問題記錄

最近,看到短視頻傳播了一個使用jstack來協助排查CPU飆升的案例。我也是比較感興趣,參考了視頻博主的流程,自己做了下對應案例的實戰演練,在此,想做一下,針對相關問題模擬與排查演練的實戰過程記錄。 案例中…

Sql Server 中常用語句

1.創建用戶數據庫 --創建數據庫 use master --切換到master數據庫 go-- 終止所有與SaleManagerDB數據庫的連接 alter database SaleManagerDB set single_user with rollback immediate goif exists (select * from sysdatabases where nameSaleManagerDB) drop database Sal…

聯通專線賦能,億林網絡裸金屬服務器:中小企業 IT 架構升級優選方案

在當今數字化飛速發展的時代,中小企業面臨著日益增長的業務需求與復雜多變的市場競爭環境。如何構建高效、穩定且具性價比的 IT 架構,成為眾多企業突破發展瓶頸的關鍵所在。而億林網絡推出的 24 核 32G 裸金屬服務器,搭配聯通專線的千兆共享帶…

LangChain核心之Runnable接口底層實現

導讀:作為LangChain框架的核心抽象層,Runnable接口正在重新定義AI應用開發的標準模式。這一統一接口設計將模型調用、數據處理和API集成等功能封裝為可復用的邏輯單元,通過簡潔的管道符語法實現復雜任務的聲明式編排。 對于面臨AI應用架構選擇…

CSP嚴格模式返回不存在的爬蟲相關文件

文章目錄 說明示例(返回404)示例(創建CSP例外) 說明 日期:2025年6月4日。 CSP嚴格模式是default-src none,但有些web應用中,在爬蟲相關文件不存在的情況下,依舊返回了對應文件&…

DeviceNET從站轉EtherNET/IP主站在鹽化工行業的創新應用

在工業自動化飛速發展的今天,鹽化工行業也在積極探索智能化升級的路徑。其中,設備之間的高效通信與協同工作成為了提升生產效率和質量的關鍵。而JH-DVN-EIP疆鴻智能DeviceNET從站轉EtherNET/IP主站的技術應用,為鹽化工行業帶來了全新的解決方…

安裝 Nginx

個人博客地址:安裝 Nginx | 一張假鈔的真實世界 對于 Linux 平臺,Nginx 安裝包 可以從 nginx.org 下載。 Ubuntu: 版本Codename支持平臺12.04precisex86_64, i38614.04trustyx86_64, i386, aarch64/arm6415.10wilyx86_64, i386 在 Debian/Ubuntu 系統…

默認網關 -- 負責轉發數據包到其他網絡的設備(通常是路由器)

? 默認網關概括說明: 默認網關(Default Gateway)是網絡中一臺負責轉發數據包到其他網絡的設備(通常是路由器)。當一臺主機要訪問不在本地子網內的設備時,會將數據包發給默認網關,由它繼續轉發…

cv::FileStorage用法

cv::FileStorage 是 OpenCV 中的一個類,用于讀取和寫入結構化數據(如 YAML、XML、JSON)。它非常適合保存和加載諸如: 相機內參(K、D) 位姿(R、T) IMU 數據 配置參數 向量、矩陣、…

WebFuture:啟動服務提示Job webfuture.service/start failed with result ‘dependency‘處理辦法

問題分析: 當出現 Job webfuture.service/start failed with result dependency. 這樣的錯誤提示時,通常意味著 webfuture.service 這個服務在啟動時因為依賴關系的問題而未能成功啟動 解決辦法: 原因分析: webfuture.service 可…

Java 大視界 -- Java 大數據機器學習模型在遙感圖像變化檢測中的應用與改進(235)

??親愛的朋友們,熱烈歡迎來到 青云交的博客!能與諸位在此相逢,我倍感榮幸。在這飛速更迭的時代,我們都渴望一方心靈凈土,而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識,也期待你毫無保留地分享獨特見解,愿我們于此攜手成長,共赴新程!?? 全網…

HarmonyOS運動開發:精準估算室內運動的距離、速度與步幅

##鴻蒙核心技術##運動開發##Sensor Service Kit(傳感器服務)# 前言 在室內運動場景中,由于缺乏 GPS 信號,傳統的基于衛星定位的運動數據追蹤方法無法使用。因此,如何準確估算室內運動的距離、速度和步幅,…

商品模塊中的多規格設計:實現方式與電商/ERP系統的架構對比

在商品管理系統中,多規格設計(Multi-Specification Product Design)是一個至關重要但又極具挑戰性的領域。無論是面向消費者的電商系統,還是面向企業管理的ERP系統,對商品規格的處理方式直接影響庫存管理、訂單履約、數…