【发布时间】:2021-02-04 14:54:45
【问题描述】:
例子是
let string1 = "AAAAA"
Output: 4A1A
My output: 4A
let string2 = "AAAAAAAAABBBBBCCCCDD"
output : 4A4A1A4B1B4C2D
My output: 4A4A4B2B4C2D
如果某个特定字符的长度大于 4,则重新从 1 开始计数。
我无法每次都打印剩余的一个字符。请参考上面的例子:
这是我的代码。请尽量改进我的代码,尽量不要给出新的解决方案。
function stringCompress(str) {
let sum = 0;
let res = ""
let demo = []
for(let i = 0; i < str.length;i++){
demo.push(i+"=" +str.substring(i,i+1))
if(str.substring(i,i+1) != str.substring(i+1,i+2) || sum == 4 ){
sum = sum+1
let temp = 0;
if(sum > 4){
sum = 4
temp = 1
}
res += sum+str.substring(i,i+1);
if(temp == 1){
sum = temp
}else{
sum = 0;
}
}
else{
sum = sum +1
}
}
return res
}
let d = "AAAAAAAAABBBBBCCCCDD"
console.log(stringCompress(d))
【问题讨论】:
标签: javascript string compression substring