Leetcode题库 110.平衡二叉树(递归 C实现)
文章目录
思路代码
思路
Height函数: p为平衡二叉树时,正常返回p的高度;否则返回-1
若某结点返回值为-1,说明这个结点的左右子树不平衡,此时该结点的父结点接收到的子树高度为-1,则父结点的left值=0,继续返回-1
说明只要有一个点不平衡,那么这个信息(不平衡)将会向上传递,表现在数值上就是最后返回root高度为-1 若每个点都是平衡的,则正常返回root的高度,因为每个点都是平衡的,Height函数的出口只会在第一个return,不会执行到”return -1;”,此时就意味着该函数是一个返回root高度的函数
代码
int Height(struct TreeNode *p){
if(p==NULL) return 0;
int left=1+Height(p->left), right=1+Height(p->right);
if(left>0
版权声明:
作者:zhangchen
链接:https://www.techfm.club/p/27022.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
共有 0 条评论