题目描述
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
分析:采用后序遍历的方式判断左右子树的高度差是否大于1
class Solution { public: bool flag; int f(TreeNode* root) { if(root) { //后序遍历,从下网往上,每个结点只遍历一次 int x=f(root->left); int y=f(root->right); if(abs(x-y)>1) { flag=false; }else { return max(x,y)+1; } }else { return 0; } return 0; } bool IsBalanced_Solution(TreeNode* pRoot) { flag=true; f(pRoot); return flag; } };