实现游程编码与解码。
游程编码(RLE)是一种简单的数据压缩形式,其中的游程(连续的数据元素)会被替换成单个数据值和它的重复次数。
例如,我们可以只用 13 个字符表示原本的 53 个字符。
"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB" -> "12WB12W3B24WB"
RLE 可以从压缩后的数据完美还原出原始数据,因此它是一种无损数据压缩。
"AABCCCDEEEE" -> "2AB3CD4E" -> "AABCCCDEEEE"
为简单起见,你可以假定未编码的字符串只包含字母 A 到 Z(大小写均可)和空白字符。 这样一来,待编码的数据永远不会包含任何数字,而待解码数据中的数字始终表示后面那个字符的重复次数。