Родитель суммы детей в дереве - PullRequest
0 голосов
/ 16 ноября 2018

Проблема состоит в том, чтобы определить, равна ли сумма дочерних данных родительским данным.если это так, верните true, иначе верните false.

Ниже приведен мой код, который выдает ошибку при отправке.я знаю, что это простой вопрос, но после написания условия у меня возникли трудности с рекурсивной проверкой условия суммы для каждого узла в двоичном дереве путем обхода всех левого и правого узлов.

int isSumProperty(Node *node)
{
    if(node == NULL) return 0;
    if((node->left->data + node->right->data) == node->data)
    {
        return 1;
        
    }
    else
    {
        return isSumProperty(node->left)&&isSumProperty(node->right);
    }
    
}

Пожалуйста, укажите мне, где я делаю это неправильно.

1 Ответ

0 голосов
/ 16 ноября 2018

Вы получаете доступ к node->left->data, не гарантируя, что node->left не NULL.

Это приводит к ошибке сегментации.

...