蓝桥杯练习day3:反转字符串II
一、题意
给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。
如果剩余字符少于 k 个,则将剩余字符全部反转。
如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。
示例 1:
输入:s = “abcdefg”, k = 2
输出:“bacdfeg”
示例 2:
输入:s = “abcd”, k = 2
输出:“bacd”
二、代码
1.代码的实现
#反转字符串步长为k,在2k中,反转前k个
s=input()
k=int(input())
ss=list(s)#这里是把字符串s转化为字符数组,方便进行[::-1]翻转
for i in range(0,len(s),2*k):#这里是从0开始到len(s)结束,步长为2*k,因为题目要求仅仅把每个2k中的前k个字符进行翻转
ss[i:i+k]=ss[i:i+k][::-1]
print("".join(ss))#把数组转化为字符串