字符串中连续字符的压缩处理

发布时间:2024-10-09 17:11:16 作者:小樊
来源:亿速云 阅读:93

字符串中连续字符的压缩处理可以通过遍历字符串,比较相邻字符是否相同来实现。如果相邻字符相同,则将字符计数器加1,否则输出当前字符及其计数器的值,并重置计数器。以下是一个简单的Python实现:

def compress_string(s: str) -> str:
    if not s:
        return ""

    compressed = []
    count = 1

    for i in range(1, len(s)):
        if s[i] == s[i - 1]:
            count += 1
        else:
            compressed.append(s[i - 1] + str(count))
            count = 1

    compressed.append(s[-1] + str(count))
    compressed_str = "".join(compressed)

    return compressed_str if len(compressed_str) < len(s) else s

示例:

s = "aaabbbbcccd"
compressed_s = compress_string(s)
print(compressed_s)  # 输出 "a3b4c3d1"

这个实现会保留原始字符串中第一个出现的字符及其计数器,即使压缩后的字符串长度更长。如果压缩后的字符串长度小于原始字符串长度,则返回压缩后的字符串,否则返回原始字符串。

推荐阅读:
  1. C++ 模板(一)
  2. C++ 继承(二)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++

上一篇:C++中string库与自定义类型的转换

下一篇:string库对字符串的循环遍历

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》