字符串还原:从重复字符到原始字符串

小新得到一个字符串,他将字符串的第 i 个字符重复 i 次。例如,字符串 'abc' 会变成 'abbccc'。不幸的是,小新忘记了原始字符串,你能帮他还原吗?

输入

第一行输入一个整数 n (1≤n≤100),表示原始字符串的长度。

第二行输入小新修改后的字符串。

输出

输出小新原来得到的字符串。

样例输入

6
baabbb

样例输出

bab

C++ 代码

#include <iostream>
#include <string>
using namespace std;

int main() {
    int n;
    cin >> n;
    string str;
    cin >> str;
    string original = "";
    int count = 1;
    for (int i = 0; i < str.length(); i++) {
        original += str[i];
        for (int j = 1; j < count; j++) {
            original += str[i];
        }
        count++;
    }
    cout << original << endl;
    
    return 0;
}

解释

代码使用循环遍历修改后的字符串,对于每个字符,它会根据当前字符在字符串中的位置重复添加该字符到 original 字符串中。例如,对于字符串 'abbccc',代码会依次将 'a' 添加 1 次,'b' 添加 2 次,'c' 添加 3 次到 original 字符串中,从而还原出原始字符串 'abc'。

字符串还原:从重复字符到原始字符串

原文地址: https://www.cveoy.top/t/topic/ph8q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录