这道题的递归次数能给我爆超内存???
查看原帖
这道题的递归次数能给我爆超内存???
1190291
buzhimingtongxue楼主2024/10/5 15:06
void recursions(const string& strMiddle, const string& strAfter, string& result,
                int leftIndexMiddle, int length, int leftIndexAfter) {
    if (length > 0) {
        char rootNode = strAfter[leftIndexAfter + length - 1];
        result.push_back(rootNode);
        // cout << "strMiddle: " << strMiddle << ", strAfter: " << strAfter << ", push: " << rootNode << endl;

        int rootIndexInMiddle = strMiddle.find(rootNode, leftIndexMiddle);

        recursions(strMiddle, strAfter, result, leftIndexMiddle, rootIndexInMiddle - leftIndexMiddle, leftIndexAfter);
        recursions(strMiddle, strAfter, result, rootIndexInMiddle + 1, length - rootIndexInMiddle + leftIndexMiddle - 1, rootIndexInMiddle);
    }
}

int main() {
    string strMiddle, strAfter, result;
    cin >> strMiddle >> strAfter;

    recursions(strMiddle, strAfter, result, 0, strMiddle.size(), 0);
    cout << result << endl;

    return 0;
}

我甚至没有直接传入子树,而是在输入给定的两个字符串上直接搜索子树,传的全是引用,没引用每次递归就几个int型变量,你告诉我内存会爆??? 想不通我的问题到底在哪里。。。

2024/10/5 15:06
加载中...