#include <iostream>
class Zipper {
public:
string zipString(string iniString) {
// write code here
string res = "";
char a = iniString[0];
int num = 0;
for (auto i : iniString) {
if(a == i){num += 1;}
else {
res += a+to_string(num);
num = 1;
}
a = i;
}
res += a+to_string(num); //最后一部分相同的字符串
return res.size() > iniString.size()? iniString : res;
}
};
移动数组,定义一个a存放i前面的元素,a和i比较,相等就计数+1,不相等就添加a+to_string(num)(字母和字母个数)



京公网安备 11010502036488号