解决方法一:使用双指针法
def reverse_string(s):
# 将字符串转换为列表
s_list = list(s)
# 定义双指针
left = 0
right = len(s) - 1
# 交换左右指针所指向的字符,并同时向中间移动指针
while left < right:
s_list[left], s_list[right] = s_list[right], s_list[left]
left += 1
right -= 1
# 将列表转换为字符串并返回
return ''.join(s_list)
解决方法二:使用递归法
def reverse_string(s):
if len(s) <= 1:
return s
else:
return reverse_string(s[1:]) + s[0]
使用方法:
s = "Hello World!"
print(reverse_string(s))
输出结果:
!dlroW olleH