自己寫的:
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)