Py学习  »  Python

leetcode每日一题 python解法 3月16日

Never肥宅 • 4 年前 • 162 次点击  

难度:简单

题目内容:

字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。

示例1:

输入:"aabcccccaaa"
输出:"a2b1c5a3"
示例2:

输入:"abbccd"
输出:"abbccd"
解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。
提示:

字符串长度在[0, 50000]范围内。

题解:

image.png

这个蛮简单的没啥说的直接写了

class Solution:
    def compressString(self, S: str) -> str:
        r = ''
        temp = 1
        for s in S:
            if r == '':
                r += s
                continue
            if s == r[-1]:
                temp += 1
            else:
                r += str(temp)
                r += s
                temp = 1
        r += str(temp)
        if len(r) >= len(S):
            return S
        else:
            return r
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/56369
 
162 次点击