求帮助(跪谢)
查看原帖
求帮助(跪谢)
470092
九歌扬灵楼主2022/1/12 20:19

本题我用了树节点结构体数组建树,后面就是普通的求树高的代码,在自己电脑上运行没问题。在系统上显示都是运行错误,具体为“Segmentation fault with invalid memory reference.”

求大佬帮助,感谢感谢感谢!!!!!

#include<iostream>
using namespace std;
struct treenode
{
    treenode* left = NULL;
    treenode* right = NULL;
};

int getheight(treenode* a)
{
    int hl, hr, h;
    if (a == NULL)return 0;
    else
    {
        hl = getheight(a->left);
        hr = getheight(a->right);
        h = max(hl, hr) + 1;
        return h;
    }
}
int main()
{
    int n;
    cin >> n;
    treenode* tree = new treenode[n];
    for (int i = 0;i < n;i++)
    {
        int a, b;
        cin >> a >> b;
        if (a == 0 && b == 0)
            continue;
        else
        {
            tree[i].left = &tree[a - 1];
            tree[i].right = &tree[b - 1];
        }
        
    }
    cout << getheight(&tree[0]);
    system("pause");
}


2022/1/12 20:19
加载中...