欢迎访问宙启技术站
智能推送

使用两个指针交换字符实现字符串翻转的函数

发布时间:2023-12-04 06:34:01

字符串翻转是指将一个字符串中的字符颠倒顺序,例如将字符串"hello"翻转为"olleh"。下面是一个使用两个指针交换字符来实现字符串翻转的函数:

def reverse_string(s):
    # 将字符串转换为列表,方便操作
    s = list(s)
    
    # 定义两个指针,一个指向字符串头部,一个指向字符串尾部
    left = 0
    right = len(s) - 1
    
    # 交换指针所指向的字符,并向中间移动指针,直到两指针相遇
    while left < right:
        s[left], s[right] = s[right], s[left]
        left += 1
        right -= 1
    
    # 将列表转换为字符串并返回
    return ''.join(s)

下面是一个使用例子:

s = "hello world"
reversed_s = reverse_string(s)
print(reversed_s)

输出结果为:

dlrow olleh

这个函数的基本思路是使用两个指针从字符串的两端向中间移动,同时交换两指针所指向的字符。通过不断交换字符,可以实现字符串的翻转操作。最后将列表转换为字符串并返回翻转后的字符串。