字符串压缩问题:用字符重复出现的次数进行压缩
题目描述
我们通常在处理大量文本数据时,希望能优化字符串的存储空间。字符串压缩便是其中一种常见的优化方法。通过压缩重复的字符,能有效减小内存占用,尤其是在字符重复率较高的情况下。
本问题要求我们实现一种字符串压缩功能,通过字符重复出现的次数来缩减字符串的长度。具体要求如下:
- 给定一个仅包含英文字母(大小写)的字符串,我们需要将相邻重复的字符用字符加上出现的次数来代替。比如,字符串
"aabcccccaaa"
应该被压缩为"a2b1c5a3"
。 - 如果压缩后的字符串长度不比原字符串短,那么返回原始字符串。
示例
示例 1:
输入: "aabcccccaaa"
输出: "a2b1c5a3"
示例 2:
输入: "abbccd"
输出: "abbccd"
解释: 对于输入 "abbccd"
,压缩后的字符串为 "a1b2c2d1"
,其长度比原始字符串 "