541. 反转字符串 II
给定一个字符串和一个整数 k,你需要对从字符串开头算起的每个 2k 个字符的前k个字符进行反转。 如果剩余少于 k 个字符,则将剩余的所有全部反转; 如果有小于 2k 但大于或等于 k 个字符,则反转前 k 个字符,并将剩余的字符保持原样。 示例: 输入: s = "abcdefg", k = 2 输出: "bacdfeg" 要求: 该字符串只包含小写的英文字母。 给定字符串的长度和 k 在[1, 10000]范围内。 思路: 利用字符串截取函数str[a:b] 注:若b越界,只截取到原串末尾。 1、每趟原串舍弃前2K个字符; 2、截取前K个字符并反转 3、截取K--2K的字符 4、拼接2和3的结果并整体拼接到ans后; 5、当原串为空时结束循环,返回ans。 1 class Solution(object): 2 def reverseStr(self, s, k): 3 """ 4 :type s: str 5 :type k: int 6 :rtype: str 7 """ 8 lens = len(s) 9 # 若原串长度小于k,则将原串反转返回 10 if lens < k: 11 return s[::-1 ] 12 # 第二个参数越界则截取到串的最后一个字符,不多取空字符 13 # return s[2*k:8*k] 14 # 返回值 15 ans = "" 16 #