110 平衡二叉樹 leetcode

2021-09-29 09:56:06 字數 1285 閱讀 6937

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

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

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

示例 1:

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

3

/ \9 20

/ \

15 7

返回 true 。

示例 2:

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

1

/ \2 2

/ \3 3

/ \4 4

返回 false 。

/**

* definition for a binary tree node.

* public class treenode

* }*//*

1/ \

2 8

/ \3 7

/ \4 5

如圖:* l往左遞迴到4,4.left沒了,return 0 ,終止左遞迴,r再遞迴到右邊的5,同樣得到0 ,math.max(0,0)得到0, return 1+0 = 1 , 因此第 4 5 這層數的高度暫定為1 。也就是3的高度為l = 1 , r= 0.

* 經過一樣的過程得到 l-r =1 ,還是平衡二叉樹, 1+ math.max(1,0) = 2, 再推出遞迴到2 ,此時l_2 = 2 ,r = 0 , math.abs(l-r) = 2 >1 因此return false;

*/class

solution

public

intmaxdepth

(treenode root)

}

利用棧

/**

* definition for a binary tree node.

* public class treenode

* }*/class

solution

//彈出最外圍的左子樹

root = stack.

pop();

if(pre != null && root.val <= pre.val)

return

false

; pre = root;

root = root.right;

}return

true;}

}

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...