124 条题解

  • 0
    @ 2006-09-21 20:15:11

    递归算法。利用的是一个规律,就是每个树(包括子数)的根节点总在其后序排列的最后,先序排列的最前,且根节点在中序排列中的位置分割左、右子树的中序排列。这样,将问题化为多个子问题即可。

  • 0
    @ 2006-05-22 21:32:54

    注意回车符的问题(我交了5次)

  • 0
    @ 2006-05-01 04:40:50

    注意要打回车...我吃亏了

  • -1
    @ 2017-01-22 21:42:38

    #include <bits/stdc++.h>
    #include <ext/pb_ds/tree_policy.hpp>
    #include <ext/pb_ds/assoc_container.hpp>
    using namespace std;

    int n;
    char mid[10], after[10];

    void dfs(int l, int r, int p, int q) {
    if (l > r) return;
    printf("%c", after[q]);
    int k = l;
    while (mid[k] != after[q]) k++;
    dfs(l, k - 1, p, p + k - l - 1);
    dfs(k + 1, r, q - r + k, q - 1);
    }

    int main() {
    scanf("%s%s", mid + 1, after + 1);
    n = strlen(mid + 1);
    dfs(1, n, 1, n);
    return 0;
    }

信息

ID
1132
难度
2
分类
数据结构 | 点击显示
标签
递交数
3863
已通过
2193
通过率
57%
被复制
20
上传者