110 平衡二叉樹

2021-10-09 06:36:27 字數 785 閱讀 8803

**於官方描述。

思路:// 自己沒做出來,看了官方解法。本質上類似樹的後序遍歷,自底向上來進行判斷,採用遞迴。官方還有解法自頂向下,這樣會額外判斷,不採納。

// 核心思想:若乙個節點的左子節點是平衡樹,右子節點也是。那麼我們判斷當前節點是不是,當前節點是的前提是左右子節點高度相差小於2。因此我們必須來記錄每個節點的樹的高度,自己最初想直接在左右子樹判斷時返回boolean型,但是這樣的話若左右為true,就無法判斷當前的true or falsel了。因為左右為true,當前也可以為false,這就必須要求返回各個子節點的樹的高度。 同時,若當前已經左邊為false,直接一路返回-1即可,無需後續判斷了。

/**

* definition for a binary tree node.

* public class treenode

* }*/class solution

public int height(treenode root)

int lheight=height(root.left);

if(lheight==-1)

int rheight=height(root.right);

if(rheight==-1||math.abs(lheight-rheight)>1)

return math.max(lheight,rheight)+1;}}

110 平衡二叉樹

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

110 平衡二叉樹

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

110 平衡二叉樹

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