判斷一顆樹是否是平衡二叉樹
首先需要搞清楚什麼是平衡二叉樹。平衡二叉樹是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹。
定義乙個類先建立出結果是否是平衡的和高度為多少?
public
static
class
returnnode
}
主方法
public
static returnnode is
(node head)
判斷是否是平衡的二叉樹方法如果左樹是平衡的二叉樹並且右樹也是平衡的二叉樹左樹和右樹的高度差不大於1
public
static returnnode isbt
(node head)
//判斷左樹是否為平衡的
returnnode left =
isbt
(head.left);if
(!left.isb)
//判斷右樹是否為平衡的
returnnode right =
isbt
(head.right);if
(!right.isb)
//左樹和右樹的高度差大於1
if(math.
abs(left.h-right.h)
>1)
return
newreturnnode
(true
,math.
max(left.h,right.h)+1
);}
判斷一顆二叉樹是否是平衡二叉樹
方法一,參考 template typename t intdepthtree bstreenode pbs template typename t bool isbalancetree bstreenode pbs intdepthleft depthtree pbs left intdepthr...
判斷一顆二叉樹是否是平衡二叉樹
輸入一棵二叉樹的根節點,判斷該樹是不是平衡二叉樹。如果某二叉樹中任意節點的左右子樹的深度相差不超過1,那麼它就是一棵平衡二叉樹。definition for a binary tree node.public class treenode class solution int left treede...
判斷一顆二叉樹是否為平衡二叉樹
一.判斷一顆二叉樹是否為平衡二叉樹 題目 輸入一顆二叉樹的根節點,判斷該二叉樹是否為平衡二叉樹。所謂的平衡二叉樹是指以當前結點為根結點的樹,左右子樹的深度不得超過1。例如 解決思路一 按照前序遍歷的路線判斷。實現 二叉樹的高度 比較左右子樹那個高,高的加1既為二叉樹的高度 int binarytre...