zoukankan      html  css  js  c++  java
  • 复制一颗二叉树

    和建树差不多,只不过节点的值不是手动输入了

    #include<stdio.h>
    #include<iostream>
    #include<queue>
    #include<stdlib.h>
    using namespace std;
    struct node
    {
        char v;
        int num;
        int depth;
        struct node*ls,*rs;
    
    };
    
    
    struct node*head;
    struct node*build()
    {
        char ch;
        cin>>ch;
        if(ch=='#') return NULL;
        struct node*p=(struct node*)malloc(sizeof(struct node));
        p->v=ch;
        p->ls=build();
        p->rs=build();
        return p;
    
    };
    struct node*mycopy(struct node*p)
    {
        if(!p)  return NULL;
        struct node*pp=(struct node*)malloc(sizeof(struct node));
        pp->v=p->v;
        pp->ls=mycopy(p->ls);
        pp->rs=mycopy(p->rs);
        return pp;
    
    };
    void middle(struct node*p)
    {
        if(!p) return ;
        middle(p->ls);
        cout<<"/节点的值:"<<p->v<<endl;
        middle(p->rs);
    }
    int main()
    {
    
    
        struct node*p=NULL;
        head=build();
        p=mycopy(head);
        middle(p);
        return 0;
    }
    

  • 相关阅读:
    新浪微博采用Oauth发送图片和文字
    android proguard也有弱点
    POJ 2376
    POJ 3259
    POJ 2253
    POJ 1062
    POJ 2299
    POJ 2186
    POJ 1860
    POJ 2823
  • 原文地址:https://www.cnblogs.com/eason9906/p/11755136.html
Copyright © 2011-2022 走看看