sdu_2017_XY 2018-12-09 14:46 采纳率: 0%
浏览 374
已结题

对于实现一个树是否为平衡树的问题

我认为编写的函数没什么问题,应该是main函数的问题,求大神们指教。

#include <iostream>
using namespace std; 
struct TreeNode{
    TreeNode* left;
    TreeNode* right;
    int data;
};
int Height(TreeNode* root)
{
    if (root==NULL)
        return 0;

    //遇到叶子结点就返回
    if (root->left == NULL && root->right == NULL)
        return 1;

    int left = Height(root->left);
    int right = Height(root->right);

    return (left) > right ? (left + 1) : (right + 1);
}
bool IsBalanced(TreeNode* root)
{
    if (root == NULL)
        return true;

    int left = Height(root->left);
    int right = Height(root->right);
    int diff = left - right;  //左右高度差

    if (diff > 1 || diff < -1)  
        return false;

    return IsBalanced(root->left) && IsBalanced(root->right);
}
int main(int argc, char** argv) {
    TreeNode *root,*left2,*right2,*left3,*left4;
    //root->left=left2;
//  root->right=right2;
//  left2->left=left3;
    //left3->left=left4;
    cout<<IsBalanced(root);
    return 0;
}

Process exited after 4.007 seconds with return value 3221225477
请按任意键继续. . .

  • 写回答

2条回答 默认 最新

  • 潭溪Zerg 2018-12-10 02:29
    关注

    你这个root一开始就是个野指针 啊,没看到你在哪里给这个二叉树初始化

    评论

报告相同问题?

悬赏问题

  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python