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 @ 2024-05-31 12:57  Junior_bond  阅读(8)  评论(0)    收藏  举报