Leedcode-反转字符串 II

自己写的:

复制代码
class Solution:
    def reverseStr(self, s: str, k: int) -> str:
        # 初始化两个空列表:s_li用于存储切分后的字符串片段,res用于存储处理后的片段
        s_li = []
        res = []

        # 遍历字符串,步长为2*k,切分成每2*k个字符一组的片段并存储在s_li中
        for i in range(0, len(s), 2 * k):
            s_li.append(s[i:i + 2 * k])

        # 遍历s_li中的每一个片段
        for j in s_li:
            # 如果片段长度为2*k或k<=片段长度<2*k
            if len(j) == 2 * k or k <= len(j) < 2 * k:
                # 反转前k个字符
                first_half = j[0:k][::-1]
                # 拼接反转后的前k个字符和剩余部分
                temp = first_half + j[k:]
                # 将处理后的片段添加到res列表中
                res.append(temp)
            else:
                # 如果片段长度小于k,直接反转整个片段
                res.append(j[::-1])

        # 将处理后的所有片段拼接成一个字符串并返回
        return ''.join(res)
复制代码

 

posted @   Junior_bond  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示