443. 压缩字符串-python-双指针

题目:

思路:

定义两个指针:read和write

read用来遍历chars,write是用来记录压缩后的字符的存入位置

代码:

复制代码
class Solution:
    def compress(self, chars: List[str]) -> int:
        #定义两个指针
        read=write=0
        n = len(chars)
        while read < n:
            cur = chars[read]
            count = 0
            while read < n and chars[read] == cur:
                read += 1
                count += 1
            #记录当前的字符
            chars[write]=cur
            write += 1
            if count > 1:
                # 把数字转成字符串,逐位写入
                for s in str(count):
                    chars[write]=s
                    write += 1
        return write
相关推荐
suhan4 分钟前
【数据结构】五、树:6.平衡二叉树AVL
数据结构·算法·排序算法
suhan5 分钟前
【数据结构】五、树:5.二叉排序树BST
数据结构·算法·排序算法
爱读书的小胖22 分钟前
80. 删除有序数组中的重复项 II
java·数据结构·算法
臻选云栗子1 小时前
PCDN跑不起来?先别甩锅给平台,问题可能出在这
算法·程序员
小画家~1 小时前
vue3 里面的 itemList.reduce
前端·数据结构·算法
All for pursuit.1 小时前
【完结】LeetCodeHot100题 详细解题过程及代码汇总
数据结构·c++·算法·leetcode
重生之小比特2 小时前
【算法拾光】双指针|移动零 + 复写零
数据结构·c++·算法
梦帮科技2 小时前
Linux 内存取证学与 Rootkit 猎杀——Volatility 核心剖析与内核隐藏模块逆向清除
linux·运维·服务器·神经网络·算法·网络安全
广州智造2 小时前
Radioss二次开发需要准备什么?
人工智能·算法·机器学习·cad·cae
zx_741484813 小时前
YOLOv3 核心原理详解:Darknet-53 架构、多尺度预测与 FPN 特征融合
算法·yolo·目标检测·yolov3