知先根、中根求后根

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30986521/article/details/82931793

原理和上篇文章相似,不赘述

#include <iostream>
#include <cstring>
using namespace  std;

void f(char s1[], char s2[], int len)
{
    if (len == 1)
    {
        cout << s1[0];
    }
    else if (len > 1)
    {
        char* index = strchr(s2, s1[0]);
        int new_len = (int)(index - s2);
        
        f(s1 + 1, s2, new_len);
        f(s1 + new_len + 1, index + 1, len - new_len - 1);
        cout << s1[0];
    }
}

int main()
{
    char s1[100], s2[100];
    
    //s1先序, s2中序
    cin >> s1 >> s2;
    
    f(s1, s2, (int)strlen(s1));
    
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_30986521/article/details/82931793