gpt4 book ai didi

c - 如何在二叉树中查找节点?

转载 作者:行者123 更新时间:2023-11-30 15:12:33 24 4
gpt4 key购买 nike

node * search(node *root,int k) {
if(root == NULL)
return NULL;
if(root->data == k)
return root;
else {
search(root->left,k);
search(root->right,k);
}
return NULL;
}

不知道为什么这个功能不起作用?请帮忙。

最佳答案

如果找到节点,则不会返回递归调用的结果。

node * search(node *root,int k) {
if(root == NULL) {
return NULL;
} else if (root->data == k) {
return root;
} else {
node* x = search(root->left,k);
if (x)
return x; //if we find in left subtree, return result
return search(root->right,k);
}
}

关于c - 如何在二叉树中查找节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35019476/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com