1 条题解

  • 0
    @ 2022-10-28 21:37:45

    搞个题解

    `

    #include<stdio.h>
    #include<string.h>
    char a[10],b[10];
    void dfs(int l1,int n1,int l2,int n2)
    {
        int i,k=-1;
        for(i=l1;i<n1;i++)
        {
            if(a[i]==b[n2-1])
            {
                printf("%c",a[i]);
                k=i;//根节点的位置
                break; 
            }
        }
        if(k>l1)//左子树
        dfs(l1,k,l2,k-l1+l2);
        if(n1>k+1) //右子树 
        dfs(k+1,n1,k-l1+l2,n2-1);
    }
    int main()
    {
        scanf("%s",a);
        scanf("%s",b);
        int l1=strlen(a);
        int l2=strlen(b);
        dfs(0,l1,0,l2);
        return 0;
    }
    
    • 1

    信息

    ID
    651
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    12
    已通过
    12
    上传者