110 平衡二叉樹

2021-10-16 13:19:26 字數 803 閱讀 7745

第一次嘗試

給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為:乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1 。leetcode鏈結

//計算節點深度的函式

intdeep

(struct treenode* root)

//拿到左右子樹各自的深度

int _left =

deep

(root->left)

;int _right =

deep

(root->right)

;//取最大值並加一返回,加一是代表算上了當前節點的乙個深度

return _left > _right ? _left +

1: _right +1;

}bool isbalanced

(struct treenode* root)

//分別計算每乙個節點左右子樹各自的深度

int __left =

deep

(root->left)

;int __right =

deep

(root->right)

;//然後判斷差的絕對值是否小於 2,以及判斷他的左右子樹是否滿足平衡二叉樹,採用遞迴的方法

return

abs(__left - __right)

<2&&

isbalanced

(root->left)

&&isbalanced

(root->right)

;}

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