題目描述
利用字符重復出現的次數,編寫一個方法,實現基本的字符串壓縮功能。比如,字符串“aabcccccaaa”經壓縮會變成“a2b1c5a3”。若壓縮后的字符串沒有變短,則返回原先的字符串。
給定一個string iniString為待壓縮的串(長度小於等於10000),保證串內字符均由大小寫英文字母組成,返回一個string,為所求的壓縮后或未變化的串。
測試樣例
"aabcccccaaa"
返回:"a2b1c5a3"
"welcometonowcoderrrrr"
返回:"welcometonowcoderrrrr"
# -*- coding:utf-8 -*-
class Zipper:
def zipString(self, iniString):
res = ''
current = iniString[0]
num = 1
for i in range(1,len(iniString)):
if iniString[i]==current:
num += 1
else:
res += current + str(num)
current,num = iniString[i],1
res += current + str(num)
return res if len(res)<len(iniString) else iniString
