题意理解
判断二叉树是否是平衡二叉树?
问题分析
用递归
平衡二叉树的条件是每个子树的左右高度相差1。
递归输入参数是根节点,左右子树最大深度,输出参数是否是平衡二叉树。
递归算法是如果根节点为空,返回平衡二叉树;判断左子树是否是平衡二叉树,不是则返回非平衡二叉树;判断右子树是否是平衡二叉树,不是则返回非平衡二叉树。如果左子树高度和右子树高度相差1,则返回平衡二叉树,相差大于1,则返回非平衡二叉树。
其他
树的递归算法变种很丰富,这里的变化是每次递归返回两个结果,用于最终的平衡二叉树的判断。
链接
无