壓縮 JavaScript 字串
我們要求撰寫一個 JavaScript 函式,它可以輸入一個可能包含一些連續重複字元的字串。
該函式應以這種方式壓縮字串−
'wwwaabbbb' -> 'w3a2b4' 'kkkkj' -> 'k4j'
如果壓縮字串的長度大於或等於原始字串,則我們應該返回原始字串。
例如−
'aab' 可以壓縮為 'a2b1',但會將其長度增加到 4,因此我們的函式應返回 'aab'
示例
程式碼如下——
const str1 = 'wwwaabbbb';
const str2 = 'kkkkj';
const str3 = 'aab';
const compressString = (str = '') => {
let res = '';
let count = 1;
for(let i = 0; i < str.length; i++){
let cur = str[i];
let next = str[i + 1];
if(cur === next){
count++;
}else{
res += cur + String(count);
count = 1;
};
}
return res.length < str.length ? res : str;
};
console.log(compressString(str1));
console.log(compressString(str2));
console.log(compressString(str3));輸出
控制檯中的輸出如下−
3a2b4 k4j1 aab
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP