字符串压缩编码
2026 华为OD机试真题 7月12日华为OD上机新系统考试真题 100 分题型
点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解
题目描述
给定一个只包含大小写英文字母的字符串,请实现字符串压缩编码功能。
压缩规则:
- 如果字符连续出现次数大于
1,则用字符加上出现次数表示 - 如果字符连续出现次数等于
1,则直接输出字符
输入描述
- 输入一行,包含一个字符串 str(长度 1≤∣str∣≤1000)
- 字符串只包含大小写英文字母
输出描述
输出压缩后的字符串
示例1
输入
aabcccccaaa
输出
a2bc5a3
说明
aa→a2b→b(单个字符不写数字)ccccc→c5aaa→a3
示例2
输入
b
输出
b
说明
- 单个字符直接输出
示例3
输入
AAbB
输出
A2bB
说明
AA→A2b→bB→B
示例4
输入
aaabbbcccaaa
输出
a3b3c3a3
说明
aaa→a3bbb→b3ccc→c3aaa→a3
解题思路
核心思想
字符串压缩编码采用双指针扫描的方式:使用一个慢指针 i 指向当前连续段的起点,一个快指针 j 向后扫描直到字符不同,从而统计
订阅专栏 解锁全文
1150




被折叠的 条评论
为什么被折叠?



