更新
看到了網(wǎng)友一個簡潔的代碼
include<iostream>
using namespace std;
int main(){
string str;
cin>>str;
int num=1;
for(int i=1;i<=str.length();i++){
if(str[i]==str[i-1])
num++;
else{
cout<<num<<str[i-1];
num=1;
}
}
return 0;
}
#題目:
輸入描述
>每個測試輸入包含1個測試用例
每個測試用例輸入只有一行字符串,字符串只包括大寫英文字母冰肴,長度不超過10000麸塞。
###輸出描述
> 輸出編碼后的字符串
###輸入例子
>AAAABCCDAA
###輸出例子
>4A1B2C1D2A
###問題分析
仔細(xì)審題很容易就過了
###代碼
```c++
#include<stdint.h>
#include<stdio.h>
#include <iostream>
#include <string>
using namespace std;
string bianMa(string s) {
string out = "";
int count = 0;
char curent_char = s[0];
for (int i = 0; i < s.length(); i++) {
if (curent_char == s[i]) {
count++;
if(i==s.length()-1){
string s1 = to_string(count) + s[i];
out += s1;
}
} else {
string s1 = to_string(count) + s[i-1];
out += s1;
count = 1;
curent_char = s[i];
if (i == s.length() - 1){
s1 = to_string(count) + s[i];
out += s1;
}
}
}
return out;
}
int main() {
string a = "AAAAAA";
cout << bianMa(a) << endl;
return 0;
}
```