力扣打卡第十八天 判定平衡二叉樹

110. 平衡二叉樹

給定一個二叉樹,判斷它是否是?平衡二叉樹??

示例 1:

輸入:root = [3,9,20,null,null,15,7]
輸出:true

示例 2:

輸入:root = [1,2,2,3,3,null,null,4,4]
輸出:false

示例 3:

輸入:root = []
輸出:true

提示:

  • 樹中的節點數在范圍?[0, 5000]?內
  • -104 <= Node.val <= 104

遞歸法

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public://遞歸法:使用左右中求得樹的高度int fuc(TreeNode* root){if(root==nullptr)return 0;int left =fuc(root->left);//左if(left == -1)return -1;//說明不是平衡樹int right =fuc(root->right);//右if(right==-1)return -1;//說明不是平衡樹//中if(abs(left-right)>1)return -1;else return 1+max(left,right);}bool isBalanced(TreeNode* root) {return fuc(root)==-1?false:true;}
};

區分一下關于求高度和求深度的方法:

? ? ? ? 之前做過關于求深度的方法可以是前序遍歷、后序遍歷、層次遍歷

? ? ? ? 但是求高度應該用后序遍歷才行

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

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

相關文章

Python 物聯網(IoT)與邊緣計算開發實戰(1)

Python 物聯網(IoT)與邊緣計算開發實戰 https://www.python.org/static/community_logos/python-logo-master-v3-TM.png 物聯網基礎與硬件交互 Raspberry Pi GPIO控制 python import RPi.GPIO as GPIO import time # 設置GPIO模式 GPIO.setmode(GPIO.BCM) GPIO.setwarnings(F…

高通SG882G平臺(移遠):1、編譯腳本

文檔提供的編譯&#xff0c;有點問題。所以我重新整理了腳本。 build-lib.sh #!/bin/bashfunction prepare_build() {if [ ! -d download ]; thenmkdir downloadfilocal MODIFIED_DIRfile-replacelocal FILE_NAMEset_bb_env.shcp ${MODIFIED_DIR}/${FILE_NAME} \poky/qti-con…

Mac電腦 觸摸板增強工具 BetterTouchTool

BetterTouchTool mac版&#xff0c;是一款觸摸板增強工具&#xff0c;允許用戶使用各種手勢來控制其計算機。 Bettertouchtool mac是一個小而高效的macOS應用程序&#xff0c;旨在幫助您為手勢定義快捷方式。 此外&#xff0c;Bettertouchtool可用于使用常規鼠標和鍵盤快捷鍵…

LSTM(Long Short-Term Memory)模型的深度解析

在6.28號我發了一個博客《RNN&#xff08;循環神經網絡&#xff09;與LSTM&#xff08;長短期記憶網絡&#xff09;輸出的詳細對比分析》&#xff0c;但是我并未詳細講解LSTM&#xff0c;LSTM是循環神經網絡中的一個模型&#xff0c;然而通過這篇博客給大家深度解析一下LSTM&am…

WebRTC 安全性分析研究

一、概述 本文著重分析 WebRTC 的安全性&#xff0c;分析其安全性考慮及安全性實現&#xff0c;回答了以下問題: WebRTC 加密過程需要或依賴 CA (Certificate Authority)嗎? 不需要 CA, 但可能依賴 CA.DTLS-SRTP 加密機制中, DTLS 與 SRTP 的關系是什么? DTLS 實現秘鑰交換…

阿里云操作系統控制臺如何解決三大OS運維難題?

背景 操作系統運維常常遇到以下問題&#xff1a; 1.問題定界浪費大量人力&#xff1a;當業務出現問題時&#xff0c;客戶在不清楚是操作系統問題還是業務問題時&#xff0c;往往會拉上所有相關團隊一起排查&#xff0c;浪費人力。 2.問題定位時間長&#xff1a;通過操作系統…

自由學習記錄(65)

其他腳本語言也可以熱更新&#xff0c;但 Lua 特別適合&#xff0c;游戲主程序通常是 C&#xff0c;Lua 只是邏輯腳本&#xff0c;改 Lua 不影響主程序運行 語言應用場景PythonWeb 后端 / 數據處理服務JavaScript瀏覽器端熱重載 / React HMRC#Unity 的 ILRuntime / HybridCLR …

抗輻照芯片在核電廠火災探測器中的應用優勢與性能解析

一、引言 核電廠作為能源供應的關鍵設施&#xff0c;其安全性備受關注。火災是威脅核電廠安全運行的重要風險因素之一。在核電廠的特殊環境下&#xff0c;火災探測器肩負著及時發現火情、保障核電廠安全運行的重任。然而&#xff0c;核電廠存在高能輻射等復雜環境因素&#xf…

FastAPI+Sqlite+HTML的登錄注冊與文件上傳系統:完整實現指南

作為一名開發者&#xff0c;你是否曾想過親手搭建一個包含用戶注冊、登錄認證和文件上傳功能的完整 Web 系統&#xff1f;今天&#xff0c;我將帶大家一步步拆解一個基于FastAPI&#xff08;后端&#xff09;和原生 JavaScript&#xff08;前端&#xff09;的前后端分離項目&am…

【動態規劃】P11188 「KDOI-10」商店砍價|普及+

本文涉及知識點 C動態規劃 P11188 「KDOI-10」商店砍價 題目背景 English Statement. You must submit your code at the Chinese version of the statement. 您可以點擊 這里 下載本場比賽的選手文件。 You can click here to download all tasks and examples of the c…

國產LHR3040芯片是REF5040的代替品

LHR3040是一款噪聲低、漂移低、精度高的電壓基準產品系列。這些基準同時支持灌電流和拉電流&#xff0c;并且具有出色的線性和負載調節性能。采用專有的設計技術實現了出色的溫漂(3ppm/℃)和高精度(0.05%)。這些特性與極低噪聲相結合&#xff0c;使LHR30XX系列成為高精度數據采…

專題:2025AI營銷市場發展研究報告|附400+份報告PDF匯總下載

原文鏈接&#xff1a;https://tecdat.cn/?p42800 在數字化浪潮席卷全球的當下&#xff0c;AI營銷正成為驅動企業增長的核心動力。 從市場規模來看&#xff0c;AI營銷正經歷著爆發式增長&#xff0c;生成式AI的出現更是為其注入了強大活力。在應用層面&#xff0c;AI已滲透到營…

深入對比 Python 中的 `__repr__` 與 `__str__`:選擇正確的對象表示方法

文章目錄 核心概念對比1. 根本目的差異2. 調用場景對比深入解析:何時使用哪種方法場景 1:開發者調試 vs 用戶展示場景 2:技術表示 vs 簡化視圖高級對比:特殊場景處理1. 容器中的對象表示2. 日志記錄的最佳實踐3. 異常信息展示最佳實踐指南1. 何時實現哪個方法?2. 實現原則…

萬能公式基分析重構補丁復分析和歐拉公式原理推導

基分析&#xff0c; x11 x2-1 x3i 存在加法法則 x1x20 所以x1-x2 存在鏈式基乘法法則 x1x1*x1x2*x2 x2x3*x3 x3x1*x3 -x1x2x3 將鏈式基乘法操作 二次&#xff0c;三次&#xff0c;直至n次化簡得 一次 x1 -x1 x3 矩陣 x1 x1 x2 x2 x3 …

OpenCV 4.10.0 移植

OpenCV 4.10.0 移植使用 概述移植編譯下載解壓編譯環境編譯 編譯完成OpenCV 庫文件及其作用 使用實例參考代碼 參考 概述 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是計算機視覺領域最廣泛使用的開源庫之一&#xff0c;提供了豐富的功能模塊&#xf…

Tomcat10.0以上版本編譯成功但報錯HTTP狀態 404

Tomcat正常啟動且項目已成功部署&#xff0c;但出現404錯誤。 HTTP狀態 404 - 未找到package org.example;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpSer…

在Flask項目中用Git LFS管理大文件(PDF)的完整實踐

在Flask項目中用Git LFS高效管理大文件(以農機說明書PDF為例) 背景與需求 在農機管理系統等實際項目中,經常需要上傳和管理大量超大文件(如200MB以上的PDF說明書、圖片等)。如果直接用Git管理這些大文件,不僅會導致倉庫膨脹、clone/pull速度變慢,還可能遇到推送失敗等…

樸素貝葉斯算法案例演示及Python實現

目錄 一、基本原理二、案例演示2.1 未平滑處理2.2 Laplace平滑處理 三、Python實現 一、基本原理 樸素貝葉斯思想&#xff1a;依靠特征概率去預測分類&#xff0c;針對于代分類的樣本&#xff0c;會求解在該樣本出現的條件下&#xff0c;各個類別出現的概率&#xff0c;哪個類…

RAG從入門到高階(二):Retrieve-and-Rerank

在上一篇教程中&#xff0c;我們了解了 Naive RAG 的基本原理和實現。它就像一個剛剛學會查找資料的新手&#xff0c;雖然能找到一些信息&#xff0c;但有時候找到的并不夠精準&#xff0c;甚至會有一些無關的干擾。 今天&#xff0c;我們將介紹 Retrieve-and-Rerank RAG&…