344. 反转字符串
建议: 本题是字符串基础题目,就是考察 reverse 函数的实现,同时也明确一下 平时刷题什么时候用 库函数,什么时候 不用库函数题目链接/文章讲解/视频讲解:代码随想录
状态:用左右指针顺利通过
左右指针:
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
541. 反转字符串II
建议:本题又进阶了,自己先去独立做一做,然后在看题解,对代码技巧会有很深的体会。
题目链接/文章讲解/视频讲解:代码随想录
状态:有思路,首先是一个字符串到列表的转换,返回数据需要再转换成字符串,细节理清楚
class Solution:
def reverseStr(self, s: str, k: int) -> str:
left=0
s=list(s)
length=len(s)
while left<length:
self.reverse(s,left,min(left+k-1,length-1))
left+=2*k
return ''.join(s)
def reverse(self,arr:list,i:int,j:int):
while i<j:
arr[i],arr[j]=arr[j],arr[i]
i+=1
j-=1
卡码网,54. 替换数字
建议:对于线性数据结构,填充或者删除,后序处理会高效的多。好好体会一下。
题目链接/文章讲解:替换数字
状态:很简单
input的默认输入是字符串,需进行类型转换
if __name__=="__main__":
s=list(input())
for i in range(len(s)):
if "0"<=s[i]<="9":
s[i]="number"
print(''.join(s))