題目:輸入一棵二叉樹的根節點,判斷該樹是不是平衡二叉樹。
分析:平衡二叉樹(balance tree)的定義是:二叉樹中任意節點的左右子樹的深度相差不超過1。注意是任意節點,並不只是根節點的|左深度-右深度|
,還有其子樹也必須是平衡二叉樹。從該定義也可知是利用遞迴來解決這個問題。
**:
class
solution
private
intdepth
(treenode node)
}
執行結果:
解析:
public
boolean
isbalanced
(treenode root)
private
intcheck
(treenode root)
思路詳解:當節點root 的左 / 右子樹的深度差 ≤1 :則返回當前子樹的深度,即節點 root 的左 / 右子樹的深度最大值 +1;當節點root 左 / 右子樹的深度差 > 1 :則返回 -1,代表此子樹不是平衡樹。 劍指offer 55 II 平衡二叉樹
題目鏈結 輸入一棵二叉樹的根節點,判斷該樹是不是平衡二叉樹。如果某二叉樹中任意節點的左右子樹的深度相差不超過1,那麼它就是一棵平衡二叉樹。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回 true 示例 2 給定二叉樹 1,2,2,3,3,null,nu...
劍指 Offer 55 II 平衡二叉樹
輸入一棵二叉樹的根節點,判斷該樹是不是平衡二叉樹 二叉樹中任意節點的左右子樹的深度相差不超過1,則是平衡二叉樹 回顧遞迴求深度的方案,是先求得左右子樹的深度,然後進一步得到當前節點的深度,即先左右子樹,再根節點 可以直接加入乙個全域性變數記錄當前是否平衡,並額外引入乙個邏輯來比較子樹的深度 bfs迭...
劍指 Offer 55 II 平衡二叉樹
package com.heu.wsq.leetcode.tree 劍指 offer 55 ii.平衡二叉樹 author wsq date 2020 12 22 輸入一棵二叉樹的根節點,判斷該樹是不是平衡二叉樹。如果某二叉樹中任意節點的左右子樹的深度相差不超過1,那麼它就是一棵平衡二叉樹。示例 1...