作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
二叉搜索树算法通常使用递归,我很难用它。
这是将树转换为其镜像的代码。
void mirror_image(struct tree* node1)
{
if (node1==NULL)
return;
else
{
struct tree *temp;
mirror_image(node1->left);
mirror_image(node1->right);
temp=node1->left;
node1->left=node1->right;
node1->right=temp;
}
}
这是如何工作的?
最佳答案
基本上,您是通过更改其左右节点来创建新树。指针,因为您正在更改地址。首先,您将左节点的值分配给临时指针变量。然后将右节点的值赋给左节点。最后,temp 中的值正在转移到正确的节点。就像交换一样。
关于c - 递归如何在二叉搜索树中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18674119/
我是一名优秀的程序员,十分优秀!