文章

2

粉丝

0

获赞

4

访问

179

头像
建树后遍历 C++
P1401 华中科技大学/中国科学院机试题
发布于2026年3月17日 18:15
阅读数 18

#include <iostream>
#include <algorithm>
#include <vector>
#include <string>

using namespace std;

struct node{
    char data;
    node*left;
    node *right;
};

using BitTree = node*;

void addToBitTree(BitTree& t, char c, string in){
    if(!t){
        t = new node;
        t->data =c ;
        t->left = nullptr;
        t->right = nullptr;
    }else{
        if(in.find(c)<in.find(t->data)){
            addToBitTree(t->left, c, in);
        }else{
            addToBitTree(t->right, c, in);
        }
    }
}

void postOrderTraverse(BitTree t){
    if(t){
        postOrderTraverse(t->left);
        postOrderTraverse(t->right);
        cout<<t->data;
    }
}

int main()
{
    string pre, in;
    while(cin>>pre>>in){
        BitTree t = nullptr;
        for(auto c:pre){
            addToBitTree(t, c, in);
        }
        postOrderTraverse(t);
        cout&l...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发