思路:
每 2k 个字符反转前 k 个字符 -> 将 range 函数的步长设置为 2k,将每次循环的列表切片 arr[i:i+k] 进行反转。(反转函数和上一题思路一样)
class Solution(object):
def reverseStr(self, s, k):
def reverseArr(arr):
n=len(arr)
for i in range(n/2):
temp=arr[i]
arr[i]=arr[n-1-i]
arr[n-1-i]=temp
return arr
arr=list(s)
for i in range(0,len(s),2*k):
arr[i:i+k]=reverseArr(arr[i:i+k])
return ''.join(arr)
知识点
join()
语法:str.join(sequence)
将序列sequence中的元素以指定的字符str连接生成一个新的字符串。