首页 > 代码库 > [剑指Offer] 39.平衡二叉树
[剑指Offer] 39.平衡二叉树
题目描述
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
1 class Solution { 2 public: 3 int Get_Height(TreeNode* root) { 4 if(root == NULL){ 5 return 0; 6 } 7 int LeftHeight = Get_Height(root->left); 8 int RightHeight = Get_Height(root->right); 9 return max(LeftHeight, RightHeight) + 1; 10 } 11 bool IsBalanced_Solution(TreeNode* pRoot) { 12 if(pRoot == NULL){ 13 return true; 14 } 15 if(!IsBalanced_Solution(pRoot->left)){ 16 return false; 17 } 18 int LeftHeight = Get_Height(pRoot->left); 19 if(!IsBalanced_Solution(pRoot->right)){ 20 return false; 21 } 22 int RightHeight = Get_Height(pRoot->right); 23 if(LeftHeight - RightHeight > 1 || LeftHeight - RightHeight < -1){ 24 return false; 25 } 26 return true; 27 } 28 };
[剑指Offer] 39.平衡二叉树
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。