【程序员面试金典】面试题 01.06. 字符串压缩(c++字符串拼接)

题目

在这里插入图片描述

解题思路

话说c++的字符串拼接真麻烦,话说+=和java中一样的StringBuffer吗??
c++拼接字符串效率比较(+=、append、stringstream、sprintf)

代码

class Solution {
    
    
public:
    string compressString(string S) {
    
    
        string ans = "";
        char temp = S[0];
        int count = 1;

        for(int i = 1; i < S.size(); i++){
    
    
            if(temp != S[i]){
    
    
                ans += temp + to_string(count);
                temp = S[i];
                count = 1;
            }else{
    
    
                count++; 
            }
        }
        ans += temp + to_string(count);

        return ans.size() < S.size() ? ans : S;
    }
};

猜你喜欢

转载自blog.csdn.net/Activity_Time/article/details/104910752