Я пытаюсь найти, присутствует ли данный ключ в двоичном дереве. Я хочу вернуть указатель на узел, если ключ присутствует - PullRequest
1 голос
/ 10 июля 2019

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

Node* findNode(Node*root,int ele){

    if(!root)
        return NULL;
    if(root->data==ele)
        return root;
    findNode(root->left,ele);
    findNode(root->right,ele);

}

1 Ответ

0 голосов
/ 10 июля 2019

Я не могу решить, как перенести ключ после его обнаружения.

Путь к переносу чего-то из функции - к return этому. Вы можете изменить

    findNode(root->left,ele);
    findNode(root->right,ele);

до

    Node *node;
    (node = findNode(root->left, ele)) || (node = findNode(root->right, ele));
    return node;
...