我的PAT-BASIC代码仓:https://github.com/617076674/PAT-BASIC
原题链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805262018265088
题目描述:
知识点:字符串
思路:按题述编程即可
时间复杂度是O(n),其中n为输入字符串的长度。空间复杂度是O(1)。
C++代码:
#include<iostream>
#include<string>
using namespace std;
int main(){
string input1;
string input2;
getline(cin, input1);
getline(cin, input2);
int count;
if(input1.compare("C") == 0){
for(int i = 0; i < input2.length(); i++){
count = 1;
while(input2[i + 1] == input2[i]){
i++;
count++;
}
if(count > 1){
cout << count << input2[i];
}else{
cout << input2[i];
}
}
}else if(input1.compare("D") == 0){
for(int i = 0; i < input2.length(); i++){
count = 0;
while(input2[i] >= '0' && input2[i] <= '9'){
count = count * 10 + input2[i] - '0';
i++;
}
if(count == 0){
cout << input2[i];
}else{
for(int j = 0; j < count; j++){
cout << input2[i];
}
}
}
}
}
C++解题报告: