213 字串壓縮

2022-05-12 02:03:06 字數 954 閱讀 2701

原題**:

例如,字串aabcccccaaa可壓縮為a2b1c5a3。而如果壓縮後的字元數不小於原始的字元數,則返回原始的字串。

可以假設字串僅包括a-z的字母。

您在真實的面試中是否遇到過這個題?  是

str=aabbcc返回aabbcc

str=aaaa返回a4

標籤

字串處理

思路:設定乙個字元標誌,初始為str,計數器為1,result為空串。下標從1開始遍歷字串,如果str【i】等於字元標誌,計數器加1;否則將標誌字元與計數器轉成字串,連線在result後面。同時,更新標誌字元與計數器。

尤其注意尾部字元的處理,在迴圈外面增加語句塊,將最後的字元(重複或者非重複)連線在result後面。

ac**:

class

solution

string result=""

;

char ch=str[0

];

int count=1

;

for (int i=1;i)

else

}//不要忘記遍歷到最後乙個字元的情況;

string

st; int2str(count,st);

result=result+ch+st;

if (result.size()>=n)

return

result;

}void int2str(const

int &int_tmp,string &string_tmp)

};

參考:c++中int、string等常見型別轉換

lintcode 213 字串壓縮

設計一種方法,通過給重複字元計數來進行基本的字串壓縮。例如,字串 aabcccccaaa 可壓縮為 a2b1c5a3 而如果壓縮後的字元數不小於原始的字元數,則返回原始的字串。可以假設字串僅包括 a z 的字母。樣例樣例 1 輸入 str aabcccccaaa 輸出 a2b1c5a3 樣例 2 輸...

213 字串壓縮 LintCode領扣程式設計題

描述 設計一種方法,通過給重複字元計數來進行基本的字串壓縮 例如,字串 aabcccccaaa 可壓縮為 a2b1c5a3 而如果壓縮後的字元數不小於原始的字元數,則返回原始的字串。可以假設字串僅包括 a z 的字母。樣例樣例 1 輸入 str aabcccccaaa 輸出 a2b1c5a3 樣例 ...

1 6 字串壓縮

c code intcomputecompressedlength const string s return compressedlength string stringcompression const string s std string compressed compressedlengt...