首页 > 代码库 > 判断二叉树是否平衡

判断二叉树是否平衡

应用剑指offer

 1 //判断二叉树是否平衡,后序遍历 2 bool isBalanced(treeNode* root,int& deep){ 3     if(root==NULL){ 4         deep=0; 5         return true; 6     } 7     //左右子树平衡时,根据高度差判断当前是否平衡 8     int lDeep,rDeep; 9     if(isBalanced(root->lChild,lDeep)&&isBalanced(root->rChild,rDeep)){10         if((lDeep-rDeep)<=1 || (rDeep-lDeep)<=1){11             deep=(lDeep>rDeep?lDeep:rDeep)+1;12             return true;13         }14     }15     return false;16 }

 

判断二叉树是否平衡