【每日打卡】 [leetcode] 面试题 1.6-字符串压缩

来源:力扣 (LeetCode)

链接:https://leetcode-cn.com/problems/compress-string-lcci

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

一、题目描述

字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串 aabcccccaaa 会变为 a2b1c5a3 。若 「压缩」 后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母 (a 至 z) 。

示例 1:

  • 输入:"aabcccccaaa"
  • 输出:"a2b1c5a3"

示例 2:

  • 输入:"abbccd"
  • 输出:"abbccd"
  • 解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。

提示:字符串长度在 [0, 50000] 范围内。

二、题解

一道很简单的字符串处理题型,思路:

  1. 使用一个计数器保存每个重复字符的个数。
  2. 遇到相同字符,计数加一。
  3. 遇到不同字符,把前面的字符和计数加到输出字符串末尾,计数器归零。

三、代码

发表评论