1 条题解

  • 0
    @ 2025-10-8 16:48:20

    scy视频

    #include<bits/stdc++.h>
    using namespace std;
    char a[35], b[35];
    void dfs(int aL, int aR, int bL, int bR)
    {
        if(aL > aR) return ;
        int p; for(int i = bL; i <= bR; i++) if(a[aL] == b[i]) { p = i; break; }
        int LL = (p - 1) - bL + 1; //左孩子树有多少个点
        dfs(aL + 1, aL + 1 + LL - 1, bL, p - 1);
        dfs(aL + 1 + LL - 1 + 1, aR, p + 1, bR);
        printf("%c", b[p]);
    }
    int main()
    {
        scanf("%s%s", a + 1, b + 1);
        int len = strlen(a + 1);
        dfs(1, len, 1, len);
        return 0;
    }
    
    • 1

    *【递归】已知先序和中序求后序(视频)

    信息

    ID
    62
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    527
    已通过
    111
    上传者