【Python 專題】數據結構 樹

  • LeetCode 題目
    • 104. 二叉樹的最大深度(gif 圖解)
      • 方法一:后序遍歷(DFS)
      • 方法二:層序遍歷(BFS)
    • 872. 葉子相似的樹(DFS 遍歷)
    • 1448. 統計二叉樹中好節點的數目(DFS 遍歷)
    • 437. 路徑總和 III(前綴和 + DFS 回溯)
    • 1372. 二叉樹中的最長交錯路徑(DFS)
    • 236. 二叉樹的最近公共祖先(DFS)(gif 圖解)
    • 199. 二叉樹的右視圖(BFS)
    • 1161. 最大層內元素和(BFS)
    • 700. 二叉搜索樹中的搜索(DFS)
    • 450. 刪除二叉搜索樹中的節點(DFS)

LeetCode 題目

樹的遍歷 方式總體分為兩類:深度優先搜索(DFS)、廣度優先搜索(BFS)。

  • 常見 DFS :先序遍歷、中序遍歷、后序遍歷。
  • 常見 BFS :層序遍歷(即按層遍歷)。

104. 二叉樹的最大深度(gif 圖解)

給定一個二叉樹 root,返回其最大深度。

二叉樹的 最大深度 是指從根節點到最遠葉子節點的最長路徑上的節點數。

在這里插入圖片描述

方法一:后序遍歷(DFS)

思路

  • 遞歸定義二叉樹的最大深度 = max(左子樹的最大深度, 右子樹的最大深度) + 1 (即當前節點本身)
  • 遞歸基

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

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

相關文章

Linux下基本指令(4)

Linux權限的概念 Linux下有兩種用戶:超級用戶(root)、普通用戶。 超級用戶:可以再linux系統下做任何事情,不受限制 普通用戶:在linux下做有限的事情。 超級用戶的命令提示符是“#”,普通用戶…

ubuntu部署小筆記-采坑

ubuntu部署小筆記 搭建前端控制端后端前端nginx反向代理使用ubuntu部署nextjs項目問題一 如何訪問端口號配置后臺運行該進程pm2 問題二 包體過大生產環境下所需文件 問題三 部署在vercel時出現的問題需要魔法訪問后端api時,必須使用https協議電腦端訪問正常&#xf…

【聯盛德 W803-Pico 試用】簡介、工程測試

【聯盛德 W803-Pico 試用】簡介、工程測試 本文介紹了聯盛德微電子 W803-Pico 開發板的基本信息、環境搭建、工程測試等內容。簡介包含開發板功能、主控參數及特點、開發板原理圖等信息,工程測試包括 Blink、串口打印等方案的演示。 活動詳情:聯盛德問答…

cursor使用記錄

一、如何查看自己登錄的是哪個賬號 操作路徑:Cursor -- 首選項 -- Cursor Setting (有快捷鍵) 二、狀態修改為豎排(默認是橫排) 默認如圖展示,想要像vscode、idea等等在左側豎著展示 操作路徑&#xff1…

gitlab 解決雙重認證無法登錄remote: HTTP Basic: Access denied.

問題:gitlab開啟了雙因素認證 如進行了 OAuth configuration 在進行git操作時如下提示 remote: HTTP Basic: Access denied. The provided password or token is incorrect or your account has 2FA enabled and you must use a personal access token instead o…

C語言基礎學習指南:從零入門到實戰應用——適合零基礎學習者與進階鞏固

目錄 一、C語言概述與開發環境搭建 二、核心語法與數據類型 三、控制結構與運算符 四、函數與模塊化編程 五、指針與內存管理 六、實踐建議與資源推薦 結語 一、C語言概述與開發環境搭建 C語言是一種高效、靈活的通用編程語言,廣泛應用于系統開發、嵌入式系…

C# 委托——lambda

lambda表達式不簡化寫起來和匿名函數很像,而匿名函數通常賦值給委托,通過委托進行調用。以下我們對lambda和委托的基本規則與使用進行整理,同時為了加深理解和記憶,我們整理了委托是如何一步步演化到lambda。 1. 委托 委托是一個…

【每日論文】TESS 2: A Large-Scale Generalist Diffusion Language Model

下載PDF或閱讀論文,請點擊:LlamaFactory - huggingface daily paper - 每日論文解讀 | LlamaFactory | LlamaFactory 摘要 我們推出了TESS 2,這是一種通用的指令跟隨擴散語言模型,其性能優于當代的指令調整擴散模型,有…

conda 配置源

無論是Anaconda vs Miniconda vs Miniforge 中的哪個,只要使用conda就涉及源,換源的目的是為了加速包的獲取 修改配置文件 通過修改用戶目錄下的 .condarc 文件來使用 不同系統下的 .condarc 目錄如下: Linux: ${HOME}/.condarcmacOS: ${…

AI大模型發展對語音直播交友系統源碼開發搭建的影響

近年來,AI大模型技術突飛猛進,為語音直播交友系統的源碼開發搭建帶來了深遠影響。本文將從技術發展層面,探討AI大模型如何賦能語音直播交友系統,并分析其對開發流程、功能實現和用戶體驗等方面帶來的變革。 一、技術賦能&#xff…

C++面試題,TCP和UDP方面(1)

個人主頁 : 個人主頁 個人專欄 : 《數據結構》 《C語言》《C》《Linux》《網絡》 《redis學習筆記》 文章目錄 前言TCP和UDP的區別UDP如何實現可靠TCP滑動窗口原理TCP流量控制TCP超時重傳總結 前言 這是個人總結的C方向的面試題,TCP和UDP方面&#xff0…

Huatuo熱更新--如何使用

在安裝完huatuo熱更新插件后就要開始學習如何使用了。 1.創建主框漸Main 新建文件夾Main(可自定義),然后按下圖創建文件,注意名稱與文件夾名稱保持一致 然后新建場景(Init場景),添加3個空物體…

Springboot + Ollama + IDEA + DeepSeek 搭建本地deepseek簡單調用示例

1. 版本說明 springboot 版本 3.3.8 Java 版本 17 spring-ai 版本 1.0.0-M5 deepseek 模型 deepseek-r1:7b 需要注意一下Ollama的使用版本: 2. springboot項目搭建 可以集成在自己的項目里,也可以到 spring.io 生成一個項目 生成的話,如下…

如何在 macOS 上配置 MySQL 環境變量

如何在 macOS 上配置 MySQL 環境變量 步驟 1: 查找 MySQL 安裝路徑 打開終端,使用以下命令查找 mysql 的可執行文件路徑: which mysql如果該命令沒有返回結果,可以使用 find 命令: sudo find / -name "mysql" 2>/de…

Unity Excel導表工具轉Lua文件

思路介紹 借助EPPlus讀取Excel文件中的配置數據,根據指定的不同類型的數據配置規則來解析成對應的代碼文本,將解析出的字符串內容寫入到XXX.lua.txt文件中即可 EPPlus常用API //命名空間 using OfficeOpenXml;//Excel文件路徑 var fileExcel new File…

【vue項目中如何實現一段文字跑馬燈效果】

在Vue項目中實現一段文字跑馬燈效果,可以通過多種方式實現,以下是幾種常見的方法: 方法一:使用CSS動畫和Vue數據綁定 這種方法通過CSS動畫實現文字的滾動效果,并結合Vue的數據綁定動態更新文本內容。 步驟&#xff…

AcWing走迷宮-最短路問題-BFS求解

題目描述 給定一個 n * m 的二維整數數組,用來表示一個迷宮,數組中只包含 0 或 1,其中 0 表示可以走的路,1 表示不可通過的墻壁。 最初,有一個人位于左上角 (1, 1) 處,已知該人每次可以向上、下、左、右任…

go 錯誤處理 error

普通錯誤處理 // 包路徑 package mainimport ("errors""fmt" )func sqrt(f1, f2 float64) (float64, error) {if f2 < 0 {return 0, errors.New("error: f2 < 0")}return f1 / f2, nil }func sqrt1(f1, f2 float64) {if re, err : sqrt(f…

MCU Bootloader具備什么條件才能跳轉到APP程序

在MCU系統中&#xff0c;BootLoader&#xff08;Boot&#xff09;跳轉到應用程序&#xff08;APP&#xff09;的條件通常由硬件和軟件協同控制&#xff0c;核心邏輯是確保APP的完整性和合法性。以下是關鍵條件及流程&#xff1a; 1. 硬件啟動模式選擇 BOOT引腳電平&#xff1a…

LeeCode題庫第二十八題

28.找出字符串第一個匹配項的下標 項目場景&#xff1a; 給你兩個字符串 haystack 和 needle &#xff0c;請你在 haystack 字符串中找出 needle 字符串的第一個匹配項的下標&#xff08;下標從 0 開始&#xff09;。如果 needle 不是 haystack 的一部分&#xff0c;則返回 …