バイナリ検索ツリーを使用するツリーの最も重いパスのすべてのint要素をベクトルに追加する必要があります。 たとえば、私は20,7,6,9,11,21 ベクトルに追加する必要がある値は20,7,9,11です 私は重いパスの計算の実装を書いているが、右の要素がベクトルに追加されますので、私はそれを変更する方法がわからない:バイナリ検索ツリー - 最も重いパスアルゴリズムを取得するC++
int Tree::maxBranch(Node* node){
if(node==NULL)
return 0;
int leftSum=node->data+maxBranch(node->left);
int rightSum=node->data+maxBranch(node->right);
if(rightSum>leftSum){
return rightSum;
}
return leftSum;
}
非常にありがとう! – mary
@maryもう1つの注意:ノードのIDをベースケースの戻り値( 'return 0'の前)に必ず追加してください。 – Borealid