Leetcode 面试题 01.06. 字符串压缩

本文为打卡刷Leetcode题系列文章, 这个系列文章的目录都是按照如下四个部分构成

  • 题目链接
  • 题目描述
  • 代码初步
    这部分写的是我在刷题过程中的思路,相信在拿到题目就立马参考大神们的思路写代码是不会有进步的,我思故我在,思考让我进步!!
  • 代码欣赏
    这一部分po出优秀的解题答案,这里我们可以学习大神们的解题思路,进而内化成自己的。

题目链接

https://leetcode-cn.com/problems/compress-string-lcci/

题目描述

Leetcode 面试题 01.06. 字符串压缩_第1张图片

代码初步

代码思路是:拿每一个字符和前一个作计较,如果和前一个相同字符相同,则计数cnt+1, 如果与前一个字符不同则输出当前字符和cnt的值,最后注意一下临界值—最后一个字符。

class Solution:
    def compressString(self, S: str) -> str:
        if not S and len(S)<2:
            return S
        cnt = 0
        ch = S[0]
        string =''
        for s in S:
            if s==ch:
                cnt += 1
            else:
                string += str(ch) +str(cnt) 
                ch = s
                cnt = 1
        string += str(ch) + str(cnt)
        return string if len(string) < len(S) else S

Leetcode 面试题 01.06. 字符串压缩_第2张图片

代码欣赏

你可能感兴趣的:(《算法笔记》,leetcode)