#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)(字母和字母个数)