我实现了一种游程编码,它遍历输入字符串,计算每个字符连续出现的次数.当字符更改时,它会将计数后跟字符追加到编码的字符串中.
def run_length_encode(string):
encoded = ""
count = 1
for i in range(1, len(string)):
if string[i] == string[i - 1]:
count += 1
else:
encoded += str(count) + string[i - 1]
count = 1
return encoded
# Example usage:
original_string = "AAAABBBCCDAA"
encoded_string = run_length_encode(original_string)
print("Original string:", original_string)
print("Encoded string:", encoded_string)
问题是我实现的代码没有计算最后一个字符. 上述代码返回4A3B2C1D而不是4A3B2C1D2A. 谢谢