面試5之編寫乙個方法,實現基本的字串壓縮功能。

2021-07-30 15:45:27 字數 754 閱讀 1256

題目描述

利用字元重複出現的次數,編寫乙個方法,實現基本的字串壓縮功能。比如,字串「aabcccccaaa」經壓縮會變成「a2b1c5a3」。若壓縮後的字串沒有變短,則返回原先的字串。

給定乙個string inistring為待壓縮的串(長度小於等於10000),保證串內字元均由大小寫英文本母組成,返回乙個string,為所求的壓縮後或未變化的串。

測試樣例

"aabcccccaaa"

返回:"a2b1c5a3"

"welcometonowcoderrrrr"

返回:"welcometonowcoderrrrr"

#includeusing namespace std;

#include#includestring zipstring(string inistring)

stringstream stream;

string count;

stream << (j-i);

stream >> count; //這兩步就是整數轉換為字串。將次數轉換為字串。

str += count;

i = j;

} if (str.length() >= inistring.length())

return inistring;

return str;

}int main()

{ string str = "aabcccccaaa";

cout << zipstring(str) <

Java 編寫乙個方法,實現基本的字串壓縮功能

利用重複字元出現的次數,編寫乙個方法,實現基本的字串壓縮功能。例如,字串aabcccccaaa會變為a2b1c5a3。若壓縮後的字串沒有變短,則返回原先的字串。stringbuffer 如果頻繁地對字串進行拼接,直接用 的話會建立很多string型的物件,對伺服器資源和效能是不小的開銷,例如下面的 ...

編寫乙個程式,實現鏈棧的各種基本運算

完成如下功能 1 初始化鏈棧s 2 判斷鏈棧s是否非空 3 依次進鏈棧元素a,b,c,d,e 4 判斷鏈棧s是否非空 5 輸出鏈棧長度 6 輸出從棧頂到棧底元素 7 輸出出鏈棧序列 8 判斷鏈棧s是否非空 9 釋放鏈棧 include iostream include malloc.h using ...

編寫乙個程式,實現鏈隊的各種基本運算

完成如下功能 1 初始化鏈隊q 2 判斷鏈隊q是否非空 3 依次進隊元素a,b,c 4 出隊乙個元素,並輸出該元素 5 輸出鏈隊q的元素個數 6 依次進鏈隊元素d,e,f 7 輸出鏈隊q的元素個數 8 輸出出隊序列 9 釋放鏈隊 include iostream using namespace st...