对字符串进行 RLE 压缩,将相邻的相同字符,用计数值和字符值来代替。例如:aaabccccccddeee,则可用 3a1b6c2d3e 来代替。
数据范围:字符串长度满足
输入为a-z,A-Z的字符串,且字符串不为空,如aaabccccccddeee
压缩后的字符串,如3a1b6c2d3e
aaabccccccdd
3a1b6c2d
package main import ( "fmt" "strconv" "os" "bufio" ) var in=bufio.NewReader(os.Stdin) func main() { var s string fmt.Fscan(in,&s) ans:="" var pre byte cnt:=0 for i,ch:=range []byte(s){ if i==0{ pre=ch cnt=1 }else{ if ch==pre{ cnt++ }else{ ans+=strconv.Itoa(cnt)+string(pre) pre=ch cnt=1 } } } ans+=strconv.Itoa(cnt)+string(pre) fmt.Print(ans) }