let s = readline() let cnt = 1 let end = 0, start = 0 for (let i = 1; i < s.length; i++) { if (s.charAt(i) === s.charAt(i - 1)) { cnt++ end = i start = end - cnt + 1 } else { start = i cnt = 1 } // console.log(s.charAt(i), cnt, start, end) 如果这里直接用if判断,那么cnt一到三就会进入这个判断,所以结果是只删除了三个 如果要删除三个以上,这里的分支要用 else if,并且去掉上面的else分支 if (cnt >= 3) { let s1 = s.slice(0, start) let s2 = s.slice(end + 1, s.length) s = s1.concat(s2) // console.log('s1:', s1) // console.log('s2:', s2) // console.log('s3:', s) cnt = 1 i = 0 } } // } console.log(s)