leetcode 字符串压缩算法
字符串压缩算法是一种将重复的字符连续出现的部分压缩为字符和重复次数的形式的方法。具体实现如下:
1. 初始化一个空字符串res,用于存储压缩后的结果。
2. 设置两个指针i和j,分别指向字符串的第一个字符和第二个字符。
3. 使用一个循环遍历整个字符串,直到j指针指向最后一个字符。
3.1 如果字符i和j相等,则让j指针前进一位。
字符串长度 python 3.2 如果字符i和j不相等,则将字符i和重复次数(j-i)添加到res中,并更新i指针为j指针的位置。
4. 将最后一个字符和重复次数(j-i)添加到res中。
5. 如果res的长度大于或等于原始字符串的长度,则返回原始字符串,否则返回res。
以下是一个示例实现的Python代码:
```python
def compressString(s: str) -> str:
res = ""
i, j = 0, 1
while j < len(s):
if s[i] == s[j]:
j += 1
else:
res += s[i] + str(j - i)
i = j
j += 1
res += s[i] + str(j - i)
return s if len(res) >= len(s) else res
```
使用该压缩算法,可以将字符串"aaabbbcc"压缩为"a3b3c2"。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论