判斷平衡二叉樹

2021-10-20 17:46:53 字數 545 閱讀 4802

題目鏈結

給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。

本題中,一棵高度平衡二叉樹定義為:乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1 。

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

輸出:true

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

輸出:false

引數和返回值:樹的乙個節點 treenode*, 返回當前樹的深度

遞迴的單層邏輯:當前節點的左右子樹高度差不大於1,返回當前節點為根的高度,否則返回 -1,說明不是平衡二叉樹

終止條件:當前節點為空

int

getdepth

(treenode* node)

bool

isbalanced

(treenode* root)

判斷平衡二叉樹

演算法 樹 平衡二叉樹 平衡二叉樹的概念 左右節點的樹高之差小於1。1.計算節點的高。通過遞迴,求出左右子樹的高度,當前節點的高度,最大的那乙個 1。int getheight treenode root 2.通過遞迴的方法計算左子樹和右子樹的樹高之差是否有小於1的,有就直接返回false.publ...

判斷平衡二叉樹

package com.jsp.tree 判斷是否是平衡二叉樹 author jiangshipan 任何乙個節點 左子樹和右子數高度差小於1 以每乙個節點為頭的樹都是平衡的,則這個樹平衡 可能 1.左樹不平 2.右樹不平 3.左或右高 整棵樹 public class isbalancedtree...

判斷平衡二叉樹

輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。最直接的做法,遍歷每個節點,借助乙個獲取樹深度的遞迴函式,根據該節點的左右子樹高度差判斷是否平衡,然後遞迴地對左右子樹進行判斷 pubic class solution private intmaxdepth treenode root 這種做法有很明顯...