方法一:使用内置函数(切片)
思路:利用Python的切片特性直接反转字符串。
def reverse_string_with_slice(s):return s[::-1]# 测试 s = "hello" print(reverse_string_with_slice(s))
方法二:双指针法
思路:将字符串转为列表,用左右指针交换字符直到中间。
def reverse_string_with_two_pointers(s):s = list(s)left, right = 0, len(s) - 1while left < right:s[left], s[right] = s[right], s[left]left += 1right -= 1return ''.join(s)# 测试 s = "hello" print(reverse_string_with_two_pointers(s))
方法三:使用内置的 reversed()
函数
reversed()
函数可以返回一个反向迭代器,将其结果转换为字符串即可实现反转。
def reverse_s(s):return ''.join(reversed(s)). # ''.join(reversed(s)) 这一步就利用 join 方法把这个反向迭代器里的元素连接成了一个完整的反转字符串。 #reversed(s) 返回的是一个 reversed 类型的迭代器对象,而不是具体的反转字符串内容 <reversed object at 0x7f8d1d8a0d30># 测试 s = "hello" print(reverse_s(s))