classSolution:defreverseString(self, s: List[str])->None:"""
Do not return anything, modify s in-place instead.
"""
left,right =0,len(s)-1while(left<right):
s[left],s[right]=s[right],s[left]
left +=1
right -=1return''.join(s)
# V1classSolution:defreverseStr(self, s:str, k:int)->str:defreverse(s,left,right):while(left<right):
s[left],s[right]= s[right],s[left]
left +=1
right -=1return s
n =len(s)
s =list(s)for i inrange(n//(2*k)):
s = reverse(s,i*2*k,i*2*k+k-1)
reminder = n%(2*k)
s = reverse(s,n-reminder,n-1)if reminder<k else reverse(s,n-reminder,n-reminder+k-1)return''.join(s)
# V2classSolution:defreverseStr(self, s:str, k:int)->str:defreverse(text):
left,right =0,len(text)-1while(left<right):
text[left],text[right]= text[right],text[left]
left +=1
right -=1return text
n =len(s)
s =list(s)for i inrange(0, n,2*k):
s[i:i+k]= reverse(s[i:i+k])# 列表切片超限不会报错return''.join(s)
classSolution:defreverseLeftWords(self, s:str, n:int)->str:defreverse(text):
left,right =0,len(text)-1while(left<right):
text[left],text[right]= text[right],text[left]
left +=1
right -=1return text
res =list(s)
N =len(res)
res = reverse(res)
res = reverse(res[:N-n])+reverse(res[N-n:])return''.join(res)