leetcode-面试题 01.06. 字符串压缩

一、题目

leetcode-面试题 01.06. 字符串压缩_第1张图片

二、思路

1、遍历一遍,ch表示字符,cht=1表示该字符的数量
2、注意判断为空或者为1的情况
3、注意添加最后一个字符到压缩字符串中

三、代码

class Solution {
public:
    string compressString(string S) {
        string str="";
        int len=S.length();
        if(S.empty() || len==1){
            return S;
        }        
        int cht=1;
        char ch=S[0];
        for(int i=1;i<len;++i){
            if(ch==S[i]){
                cht++;
            }
            else{
                str+=ch+to_string(cht);
                cht=1;
                ch=S[i];
            }
        }
        
        str+=ch+to_string(cht);
        int size=str.length();
        if(size<len){
            return str;
        }
        return S;
    }
};

你可能感兴趣的:(LeetCode刷题,visual,studio,c++,ide)