跳至主要內容

344, 反转字符串

Mike小于 1 分钟stringeasystringtwo pointers

一、题目描述

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。

不要给另外的数组分配额外的空间,你必须原地open in new window修改输入数组,使用O(1)的额外空间解决这一问题。

示例 1
输入: s = ["h", "e", "l", "l", "o"]
输出: ["o", "l", "l", "e", "h"]

示例 2
输入: s = ["H", "a", "n", "n", "a", "h"]
输出: ["h", "a", "n", "n", "a", "H"]

提示

相关主题

  • 双指针
  • 字符串

二、题解

方法 1: 双指针

pub fn reverse_string(s: &mut Vec<char>) {
    let mut l = 0;
    let mut r = s.len() - 1;

    while l < r {
        s.swap(l, r);
        l += 1;
        r -= 1;
    }
}