字符串还原:从重复字符到原始字符串
字符串还原:从重复字符到原始字符串
小新得到一个字符串,他将字符串的第 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 著作权归作者所有。请勿转载和采集!