Leetcode 443. String Compression

文章作者:Tyan
博客:noahsnail.com  |  CSDN  | 

1. Description

Leetcode 443. String Compression_第1张图片
String Compression

2. Solution

class Solution {
public:
    int compress(vector& chars) {
        if(chars.size() == 0 || chars.size() == 1) {
            return chars.size();
        }
        int count = 1;
        int index = 0;
        char current = chars[0];
        for(int i = 1; i < chars.size(); i++) {
            if(chars[i] != current) {
                chars[index] = current;
                index++;
                if(count > 1) {
                    string temp = to_string(count);
                    for(char ch : temp) {
                        chars[index] = ch;
                        index++;
                    }
                }
                count = 1;
                current = chars[i];
            }
            else {
                count++;
            }
        }
        chars[index] = current;
        index++;
        if(count > 1) {
            for(char ch : to_string(count)) {
                chars[index] = ch;
                index++;
            }
        }
        return index;
    }
};

Reference

  1. https://leetcode.com/problems/string-compression/description/

你可能感兴趣的:(Leetcode 443. String Compression)