• 数据结构-二叉树的镜像


    题目:请完成一个函数,输入一个二叉树,该函数输出他的镜像

    分析:利用图形画出二叉树的镜像进行分析。

    树是数据结构的重中之重,尤其是树的实现大部分是用递归。好好花点时间琢磨一下,硬伤这是。

    /*
    剑指offer面试题19
    */
    #include <iostream>
    
    using namespace std;
    
    struct BinaryTree{
        BinaryTree* lchild;
        BinaryTree* rchild;
        int data;
    };
    
    BinaryTree* Create(){
        BinaryTree* root = new BinaryTree;
        root->data = 8;
        BinaryTree* lchild = new BinaryTree;
        lchild->data = 6;
        BinaryTree* rchild = new BinaryTree;
        rchild->data = 7;
        root->lchild = lchild;
        root->rchild = rchild;
    
        BinaryTree* lchild1 = new BinaryTree;
        lchild1->data = 9;
        BinaryTree* rchild1 = new BinaryTree;
        rchild1->data = 2;
        lchild->lchild = lchild1;
        lchild->rchild = rchild1;
    
        BinaryTree* lchild2 = new BinaryTree;
        lchild2->data = 4;
        BinaryTree* rchild2 = new BinaryTree;
        rchild2->data = 5;
        rchild1->lchild = lchild2;
        rchild1->rchild = rchild2;
        return root;
    }
    
    void MirrorTree(BinaryTree* root){
        if(root == NULL || (root->lchild == NULL && root->rchild == NULL)){
            return;
        }
    
        BinaryTree* mTree = root->lchild;
        root->lchild = root->rchild;
        root->rchild = mTree;
    
        if(root->lchild){
            MirrorTree(root->lchild);
        }
        if(root->rchild){
            MirrorTree(root->rchild);
        }
    }
    
    void print(BinaryTree* root){
        if(root != NULL){
            cout << root->data << " ";
            print(root->lchild);
            print(root->rchild);
        }
    }
    
    int main()
    {
        BinaryTree* bTree = Create();
    
        MirrorTree(bTree);
    
        print(bTree);
    
        return 0;
    }
  • 相关阅读:
    杂谈
    分享一首歌——美丽的万物
    Silverlight有感
    风云的银光志Silverlight4.0教程之打印报表和图形(转)
    IIS 7.0的集成模式和经典模式
    WPF中MVVM模式原理分析与实践(转)
    使用HTTP_X_FORWARDED_FOR获取客户端IP的严重后果
    各大网站架构总结笔记(转)
    做了几天silverlight 小结一下
    Fiddler2介绍
  • 原文地址:https://www.cnblogs.com/wn19910213/p/3728670.html
Copyright © 2020-2023  润新知