应用题-字符串专题-反转字符串II

管理员
```python class Solution: # 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符,再重新计数。 # 如果剩余字符少于 k 个,则将剩余字符全部反转。 # 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。 def reverseStr(self, s: str, k: int) -> str: s = list( s ) n = len( s ) i = 0 while i < n: # t是每个区间的起点 # j是交换区间的终点 t = i j = min( i + k - 1, n - 1 ) # 交换[ t ~ j ] while t < j: s[ t ], s[ j ] = s[ j ], s[ t ] t += 1 j -= 1 i = i + 2 * k return "".join( s ) ```
评论 0

发表评论 取消回复

Shift+Enter 换行  ·  Enter 发送
还没有评论,来发表第一条吧