力扣面试题01.06 字符串压缩

力扣面试题01.06 字符串压缩

class Solution {
public:
    string compressString(string S) {
        int len = S.size();
        int temp = len;
        char c;
        for (int i = 0; i < len; i++)
        {
            temp += c == S[i] ? -1 : 1;
            c = S[i];
        }
        if (temp >= len)
        {
            return S;
        }
        c = S[0];
        string res;
        int count = 1;
        for (int i = 1; i < len; i++)
        {
            if (c != S[i])
            {
                res.push_back(c);
                res.append(to_string(count));
                c = S[i];
                count = 1;
            }
            else
            {
                count++;
            }
            if (i == len - 1)
            {
                res.push_back(c);
                res.append(to_string(count));
            }
        }
        return res;
    }
};

posted on 2020-03-19 23:00  woodjay  阅读(104)  评论(0编辑  收藏  举报

导航