程式語言 - LeetCode - C++ - 443. String Compression



題目:


解答:

class Solution {
public:
    int compress(vector<char>& chars) {
        string r;
        int cnt = 1;
        char ch = chars[0];

        for (int i = 1; i < chars.size(); i++) {
            if (ch == (char)chars[i]) {
                cnt += 1;
                continue;
            }

            r += ch;
            if (cnt > 1) {
                r += to_string(cnt);
            }

            cnt = 1;
            ch = chars[i];
        }

        r += ch;
        if (cnt > 1) {
            r += to_string(cnt);
        }

        chars.clear();
        for (char c : r) {
            chars.push_back(c);
        }

        return chars.size();
    }
};