1 题目描述
2 解题思路
也很简单,从头到尾遍历一遍即可,先建立一个表示出现次数的字符串tmp,然后返回tmp和S中短的那个
时间复杂度 O(n),空间复杂度O(n)
class Solution:
def compressString(self, S: str) -> str:
if(len(S)==0):
return("")
tmp=''
num=1
c=S[0]
for i in S[1:]:
if(i==c):
num+=1
else:
tmp+=c
tmp+=str(num)
c=i
num=1
if(num!=0):
tmp+=c
tmp+=str(num)
if(len(tmp)<len(S)):
return(tmp)
else:
return(S)