• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Tree Recovery HEUOJ 1045 樹的遍歷

            Posted on 2012-04-26 13:32 lenohoo 閱讀(222) 評論(0)  編輯 收藏 引用

            Tree Recovery

            Description

            Little Valentine liked playing with binary trees very much. Her favorite game was constructing randomly looking binary trees with capital letters in the nodes.

            This is an example of one of her creations:


                    D
                   / \
                  /   \
                 B     E
                / \     \  
               /   \     \
              A    C      G
                         /
                        /
                       F

            To record her trees for future generations, she wrote down two strings for each tree: a preorder traversal (root, left subtree, right subtree) and an inorder traversal (left subtree, root, right subtree). For the tree drawn above the preorder traversal is DBACEGF and the inorder traversal is ABCDEFG.

            She thought that such a pair of strings would give enough information to reconstruct the tree later (but she never tried it).

            Now, years later, looking again at the strings, she realized that reconstructing the trees was indeed possible, but only because she never had used the same letter twice in the same tree.

            However, doing the reconstruction by hand, soon turned out to be tedious.

            So now she asks you to write a program that does the job for her!

            Input

            The input will contain one or more test cases.

            Each test case consists of one line containing two strings preord and inord, representing the preorder traversal and inorder traversal of a binary tree. Both strings consist of unique capital letters. (Thus they are not longer than 26 characters.)

            Input is terminated by end of file.

            Output

            For each test case, recover Valentine's binary tree and print one line containing the tree's postorder traversal (left subtree, right subtree, root).

            Sample Input

            DBACEGF ABCDEFG
            BCAD CBAD

            Sample Output

            ACBFGED
            CDAB

            告訴你樹的先序遍歷,中序遍歷,求其后序遍歷
            #include<cstdio>
            #include
            <cstring>
            #include
            <iostream>
            using namespace std;
            char ch1[30],ch2[30],ch[30];
            int len;
            void dfs(int s1,int e1,int s2,int e2){
                
            if(s1>e1) return;
                ch[
            --len]=ch1[s1];
                
            int i;
                
            for(i=s2;ch2[i]!=ch1[s1] && i<=e2;i++);
                dfs(s1
            +i-s2+1,e1,i+1,e2);
                dfs(s1
            +1,s1+i-s2,s2,i-1);
            }
            int main(){
                
            while(~scanf("%s%s",ch1,ch2)){
                    len
            =strlen(ch1);
                    ch[len]
            ='\0';
                    dfs(
            0,len-1,0,len-1);
                    printf(
            "%s\n",ch);
                }
            }

            posts - 3, comments - 1, trackbacks - 0, articles - 16

            Copyright © lenohoo

            亚洲AV日韩AV永久无码久久| 少妇人妻综合久久中文字幕| 国产精品岛国久久久久| 久久精品a亚洲国产v高清不卡| 69久久夜色精品国产69| 久久性精品| 97久久精品无码一区二区| 国产毛片久久久久久国产毛片 | 中文字幕无码免费久久| 久久久久无码精品国产不卡| 青草影院天堂男人久久| 久久中文字幕人妻熟av女| 97久久久精品综合88久久| 久久WWW免费人成一看片| 国内精品久久久久久久亚洲| 亚洲∧v久久久无码精品| 久久久久无码精品国产app| 精品国产乱码久久久久久呢| 2021久久国自产拍精品| 麻豆精品久久久久久久99蜜桃 | av无码久久久久不卡免费网站| 国产一区二区精品久久凹凸| 狼狼综合久久久久综合网| 久久人人爽人人爽人人爽 | 久久国产精品-久久精品| 中文字幕久久久久人妻| 亚洲日韩欧美一区久久久久我| 久久婷婷国产麻豆91天堂| 久久精品亚洲日本波多野结衣| 思思久久精品在热线热| 中文字幕无码久久精品青草| 久久精品国产72国产精福利| 日本久久久久久中文字幕| 久久久一本精品99久久精品66| 亚洲国产精品18久久久久久| 久久久久久精品免费看SSS| 久久国产AVJUST麻豆| 久久精品国产亚洲av麻豆图片 | 久久精品九九亚洲精品| 人人狠狠综合久久88成人| 久久久久亚洲Av无码专|