以下为ChatGPT自动生成的解答,正确与否请自行判断。
BFE.devAI解答 - JavaScript 代码题
97. 压缩字符串
function compress(str) {
let compressed = '';
let count = 1;
for (let i = 0; i < str.length; i++) {
if (str[i] === str[i+1]) { // 当前字符和下一个字符相同,计数增加
count++;
} else {
if (count > 1) { // 当前字符计数大于1, 添加计数到压缩字符串中
compressed += count;
}
compressed += str[i]; // 添加当前字符到压缩字符串中
count = 1; // 重置计数
}
}
return compressed;
}
测试结果:
compress("a"); // "a"
compress("aa"); // "a2"
compress("aaa"); // "a3"
compress("aaab"); // "a3b"
compress("aaabb"); // "a3b2"
compress("aaabba"); // "a3b2a"