如何编写统计字符串连续相同字符出现次数的编码函数
连续字符统计编码函数实现
功能描述
接收全小写字母组成的字符串,统计每一段连续相同字符的出现次数,将「次数+字符」按顺序拼接后返回编码结果。
输入约束
- 输入长度满足:0 < 长度 ≤ 15000
- 输入全部为小写英文字母
- 输入仅包含字母字符,无其他特殊符号
实现思路
- 初始化计数器和当前字符为字符串的第一个字符
- 从第二个字符开始遍历整个输入字符串:
- 遇到和当前字符相同的字符,计数器加1
- 遇到不同字符时,将当前计数与字符拼接后存入结果列表,重置计数器和当前字符
- 遍历结束后,把最后一段未拼接的计数和字符加入结果列表,最终拼接为完整字符串返回
Python 实现代码
def encode_string(s: str) -> str: if len(s) == 1: return f"1{s}" result = [] current_char = s[0] count = 1 for char in s[1:]: if char == current_char: count += 1 else: result.append(f"{count}{current_char}") current_char = char count = 1 result.append(f"{count}{current_char}") return ''.join(result)
测试示例
- 输入:
"aabssd",输出:2a1b2s1d - 输入:
"aabssdaabbbb",输出:2a1b2s1d2a4b
内容的提问来源于stack exchange,提问作者bartaouch Khalid
相关产品推荐
相关产品推荐

