leetcode 平衡二叉樹(js實現)

2021-10-24 05:33:13 字數 1039 閱讀 6946

平衡二叉樹

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

本題中,一棵高度平衡二叉樹定義為:

乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。

示例 1:

給定二叉樹 [3,9,20,null,null,15,7]

返回 true 。

示例 2:

給定二叉樹 [1,2,2,3,3,null,null,4,4]

返回 false 。

自定上下求二叉樹的高度差

1.遞迴求解左右子樹的高度,判斷左右子樹的高度差是否大於1:

2.同時遞迴遍歷下乙個左右子樹

var

isbalanced

=function

(root)

//深度遍歷求高度

leetcode 平衡二叉樹

給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回 true 給定二叉樹 1,2,2,3,3,null,null,4,4 1 ...

Leetcode 平衡二叉樹

首先是平衡二叉樹的定義,它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹。先浮現在腦海中的是分別獲取左右子樹的深度,再對他們的差值進行比較。並且,每乙個子樹也必須是平衡的,因此也需要遞迴去判斷他們。當然最先是特殊情況的處理,當樹為空樹時,它就是平衡的。而在每...

平衡二叉樹 js

輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。正常思路,應該會獲得節點的左子樹和右子樹的高度,然後比較高度差是否小於1。可是這樣有乙個問題,就是節點重複遍歷,影響效率。所以採用另一種方法 在求高度的同時判斷是否平衡,如果不平衡就返回 1,否則返回樹的高度。並且當左子樹高度為 1時,就沒必要去求右子樹...