已知中序遍历及后序遍历结果求前序遍历

时间:2021-06-08 12:38:48

菜鸡继续打卡~贴代码,日后补充。


与昨天的求后序遍历代码相似,昨天的偷懒了,没有建树过程。




/**dandelion
**   2017-08-10*  已知中序遍历和后序遍历的结果求前序遍历**/#include <iostream>using namespace std;typedef struct BinaryNode{    struct BinaryNode *left,*right;    char data;};BinaryNode *changeToDLR(char *mid,char *lat,int length){    if(0==length)        return NULL;    BinaryNode *node = new BinaryNode;    node->data=*(lat+length-1);    cout<<node->data;    int index= 0;    for( ; index<length; index++)        if(mid[index]==lat[length-1])            break;    node->left = changeToDLR(mid,lat,index);    node->right = changeToDLR(mid+index+1,lat+index,length-index-1);}int main(){    char *mid="gdbxajmec";    char *lat="gbxdmjcea";    changeToDLR(mid,lat,9);    return 0;}