gpt4 book ai didi

c++ - 找到二叉树中最低的叶子

转载 作者:行者123 更新时间:2023-11-30 21:43:53 25 4
gpt4 key购买 nike

我正在尝试比较所有叶子以返回树的最低值,我没有主函数,只有一个插入值的脚本,所以不幸的是我无法调试它。

tpNoArvore * findLowest(tpNoArvore * pNo){
tpNoArvore * left;
tpNoArvore * right;
tpNoArvore * res;

if (!pNo) return NULL; /* if */

left = findLowest(pNo->pNoL);
right = findLowest(pNo->pNoR);
if(isLeaf(pNo))
return pNo;
} /* if */

if(!left){
return right;
} /* if */

if(!right){
return left;
} /* if */


return (left->Valor < right->Valor) ? left : right ;

}

所以,基本上我在这里想要实现的是比较每个节点的两侧以找到最低的。

最佳答案

您的代码返回一个指针似乎很奇怪。我期望类似的东西:

// Assume valor is int
int findLowest(tpNoArvore * pNo){

if (!pNo) exit(1); /* fatal error */

// If this is a leaf just return its value
if(isLeaf(pNo)) return pNo->Valor;

// Not a leaf

// Find the lowest value in left part of tree
int leftValor = findLowest(pNo->pNoL);

// Find the lowest value in right part of tree
int rightValor = findLowest(pNo->pNoR);

// Return the lowest of leftValue ans rightValue
return (leftValor < rightValor) ? leftValor : rightValor ;

}

但也许我误解了你的问题。

关于c++ - 找到二叉树中最低的叶子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29272017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com