本文主要是介绍面试金典 01.06. 字符串压缩,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Description
字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。
示例1:输入:"aabcccccaaa"输出:"a2b1c5a3"
示例2:输入:"abbccd"输出:"abbccd"解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/compress-string-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
Solution
class Solution:def compressString(self, S: str) -> str:res = ''tmp = [None, None]for ch in S:if ch == tmp[0]:tmp[1] += 1else:if res: res += str(tmp[1]) # if为处理第一次情况res += chtmp[0] = chtmp[1] = 1res += str(tmp[1])if len(res)>=len(S): return Sreturn res
这篇关于面试金典 01.06. 字符串压缩的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!