Write a function to create an mirror image of binary tree
#include <iostream>
#include <queue>
struct node
{
int data;
node* left;
node* right;
node(int _data, node* _left, node* _right)
{
data = _data;
left = _left;
right = _right;
}
};
void createMirror(node* n)
{
if(n == NULL)
return;
node* temp = n->left;
n->left = n->right;
n->right = temp;
createMirror(n->left);
createMirror(n->right);
}
int main()
{
node* n7 = new node(7, NULL, NULL);
node* n6 = new node(6, NULL, NULL);
node* n5 = new node(5, NULL, NULL);
node* n4 = new node(4, NULL, NULL);
node* n3 = new node(3, n6, n7);
node* n2 = new node(2, n4, n5);
node* n1 = new node(1, n2, n3);
node* root = n1;
createMirror(root);
return 0;
}
本文介绍了一种创建二叉树镜像的方法。通过递归地交换每个节点的左右子节点来实现整个二叉树的镜像翻转。示例代码展示了如何构建一个简单的二叉树,并对其进行镜像翻转。
1093

被折叠的 条评论
为什么被折叠?



