найдите обход дерева по порядку и напечатайте их все, отрицая каждое альтернативное число

Например:

         1
/      \
/         \
2             3
/  \         / \
4   5       6   7

Выход по обходу заказа: 4 2 5 1 6 3 7

Ожидаемый выход: 4 -2 5 -1 6 -3 7

код для заказа

Node * func(struct Node * root){
if(root!=NULL)
{
func(root->lChild);
cout<<root->nodeValue<<" ";
func(root->rChild);
}
return NULL;

}

-4

Решение

Все, что вам, возможно, придется сделать, добавить дополнительный аргумент для отслеживания альтернативного знака, например:

Node * func(struct Node * root, int& signV ){
if(root!=NULL)
{
func(root->lChild, signV);
cout<<root->nodeValue * signV <<" "; signV *= -1 ; // Change sign here
func(root->rChild, signV);
}
return NULL;
}

See Here

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]