344.反转字符串
class Solution:
def reverseString(self, s: List[str]) -> None:
"""
Do not return anything, modify s in-place instead.
"""
left = 0
right = len(s) - 1
while left < right:
s[left],s[right] = s[right], s[left]
left += 1
right -= 1
return s
总结:这题也使用了一下双指针,还挺简单的。
541. 反转字符串II
class Solution:
def reverseStr(self, s: str, k: int) -> str:
def reverse_substring(s1):
right, left = len(s1) - 1, 0
while left < right:
s1[left], s1[right] = s1[right], s1[left]
left += 1
right -= 1
return s1
s = list(s)
for i in range(0, len(s), 2*k):
s[i:i+k] = reverse_substring(s[i:i+k])
return ''.join(s)
总结:这题主要在处理前2k个元素的前k个,还有把s突然转换成list进行处理。切片操作+函数调用对当前区间的处理。
卡码网:54.替换数字
class Solution:
def change(self, s):
lst = list(s)
for i in range(len(lst)):
if lst[i].isdigit():
lst[i] = "number"
return ''.join(lst)
总结:遍历发现是数字就替换掉