为什么我用 code=3221225477 退出代码

时间:2021-08-01 13:11:15

标签: c++ binary-tree

我正在学习树,但我不明白为什么会出现此错误,之前它运行良好。我找不到错误。我已经实现了一个用于查找二叉树是否平衡的程序。如果所有节点的左树高和右树高差小于或等于1,则二叉树是平衡的


struct node{
    int data;
    struct node* left;
    struct node* right;
    node(int val){
        data = val;
        left = NULL;
        right = NULL;
    }
};

int height(node* root){
    if (root==NULL)
    {
        return 0;
    }
    int lh = height(root->left);
    int rh = height(root->right);
    return max(lh,rh)+1;
}
bool isbalanced(node* root){
    if (root=NULL)
    {
        return true;
    }
    if (isbalanced(root->left)==false)
    {
        return false;
    }
    if (isbalanced(root->right)==false)
    {
        return false;
    }
    int lh = height(root->left);
    int rh = height(root->right);
    if (abs(lh-rh)<=1)
    {
        return true;
        /* code */
    }
    return false;
    
    
}
int main(){
    node* root = new node(1);
    root->left = new node(2);
    root->right = new node(3);
    root->left->left = new node(4);
    root->left->right = new node(5);
    root->right->left = new node(6);
    root->right->right = new node(7);
    if (isbalanced(root))
    {
        cout<<"balanced";
    }
    else{
        cout<<"Unbalanced";
    }
    return 0;
}

0 个答案:

没有答案