第四章 字符串part01
344.反转字符串
class Solution:
def reverseString(self, s: List[str]) -> None:
"""
Do not return anything, modify s in-place instead.
"""
l = len(s)
front = 0
back = l-1
for front in range(l//2):
back = l-1-front
temp = s[front]
s[front] = s[back]
s[back] = temp
return
541. 反转字符串II
一段一段变的时候,i+=2k
python里str不能改变,要先变成list,再用''.join(list)
class Solution:
def reverse(self, s: List[str], start: int, end: int) -> None:
# [)
l = end - start
end = end-1
for start in range(start, start+l//2):
s[start], s[end] = s[end], s[start]
end -= 1
return
def reverseStr(self, s: str, k: int) -> str:
l = len(s)
s = list(s) # Convert string to list for in-place modifications
i = 0
for i in range(0,l,2*k):
if i+k<=l:
self.reverse(s,i,i+k)
else:
self.reverse(s,i,l)
return ''.join(s) # Convert list back to string
54.替换数字
class Solution:
def replaceNumber(self, s: str) -> str:
result = []
for char in s:
if char in "0123456789":
result.append("number")
else:
result.append(char)
s1 = ''.join(result)
return s1