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;
    }
    

  • 相关阅读:
    vector与iterator的一些用法
    动态规划 hdu 1024
    dfs bfs hdu 1045
    hdu 2795
    poj 2828
    线段树染色
    线段树比大小
    A
    ?线程局部变量
    JRE、JDK、JVM 及 JIT
  • 原文地址:https://www.cnblogs.com/eason9906/p/11755136.html
Copyright © 2011-2022 走看看