C++11 我试图找出给定的密钥是否存在于二叉树中。如果键存在,我想返回指向节点的指针

C++11 我试图找出给定的密钥是否存在于二叉树中。如果键存在,我想返回指向节点的指针,c++11,recursion,binary-tree,recursive-datastructures,C++11,Recursion,Binary Tree,Recursive Datastructures,我试图找出给定的密钥是否存在于二叉树中。如果键存在,我想返回指向节点的指针。一旦找到钥匙,我无法决定如何继续使用 Node* findNode(Node*root,int ele){ if(!root) return NULL; if(root->data==ele) return root; findNode(root->left,ele); findNode(root->right,ele); } 一旦找

我试图找出给定的密钥是否存在于二叉树中。如果键存在,我想返回指向节点的指针。一旦找到钥匙,我无法决定如何继续使用

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

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

}
一旦找到钥匙,我无法决定如何继续使用

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

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

}
从函数中结转某物的方法是
返回它。你可以改变

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

一旦找到钥匙,我无法决定如何继续使用

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

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

}
从函数中结转某物的方法是
返回它。你可以改变

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


感谢您的快速响应。我尝试了上述操作,但您正在执行的作业是bool to Node*类型。因此,它无法工作。您一定犯了复制粘贴错误。这两个赋值都将
findNode()
的返回值分配给
node
,它们都是
node*
类型,没有一个是bool。糟糕,它工作了!谢谢!您能解释一下OR运算符在这里的作用吗?感谢您的快速响应。我尝试了上述操作,但您正在执行的赋值是bool to Node*类型。因此它不起作用。您一定犯了复制粘贴错误。这两个赋值都将
findNode()
的返回值分配给
node
,它们都是
node*
类型,没有一个是bool。糟糕,它工作了!谢谢!你能解释一下这里的OR运算符是什么吗?