文巾解题 面试题 01.06. 字符串压缩

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文巾解题 面试题 01.06. 字符串压缩相关的知识,希望对你有一定的参考价值。

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)

以上是关于文巾解题 面试题 01.06. 字符串压缩的主要内容,如果未能解决你的问题,请参考以下文章

文巾解题 面试题 01.02. 判定是否互为字符重排

文巾解题 面试题 01.03. URL化

文巾解题 面试题 01.04. 回文排列

文巾解题 面试题 17.10. 主要元素

面试题 01.06. 字符串压缩

字符串“aabcccccaaa”压缩成“a2b1c5a3“还要返回更小的?力扣面试题 01.06. 字符串压缩讲解