【面试题】剑指offer19--二叉树的镜像

来源:互联网 发布:如何激活windows 编辑:程序博客网 时间:2024/06/04 18:55

二叉树的镜像就是要将左子树调整到右子树的地方

将右子树的位置调整到左子树的位置

首先先序遍历这个数的每个节点,如果遍历到节点有子节点

就交换它的两个子结点,当交换完所有非结点之后,就得到了树的镜像

代码的实现:

#include<iostream>using namespace std;struct BinaryTreeNode{int _value;BinaryTreeNode* _left;BinaryTreeNode* _right;};void MirrorRecurisively(BinaryTreeNode* Node){if (Node == NULL || (Node->_left == NULL) && Node->_right){return;}BinaryTreeNode *tmp = Node->_left;Node->_left = Node->_right;Node->_right = tmp;if (Node->_left){MirrorRecurisively(Node->_left);}if (Node->_right){MirrorRecurisively(Node->_right);}}