1. 程式人生 > 其它 >二叉樹習題1:平衡二叉樹

二叉樹習題1:平衡二叉樹

技術標籤:資料結構與演算法

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

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution
: def isBalanced(self, root: TreeNode) -> bool: return self.recur(root) != -1 def recur(self,root): if not root:return 0 left = self.recur(root.left) if left == -1:return -1 right = self.recur(root.right) if right == -1:return -1 return
max(left,right) + 1 if abs(left - right ) < 2 else -1

在這裡插入圖片描述