题解 | #基本字符串压缩#

基本字符串压缩

https://www.nowcoder.com/practice/21f3a84300c94db092e0b5a7bf2d0ad1

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

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务