344. Reverse String

Write a function that reverses a string. The input string is given as an array of characters char[].

Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.

You may assume all the characters consist of printable ascii characters.

 

Example 1:

Input: ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]

Example 2:

Input: ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]

Rust Solution

struct Solution;

impl Solution {
    fn reverse_string(s: &mut Vec<char>) {
        s.reverse();
    }
}

#[test]
fn test() {
    let mut input: Vec<char> = vec![];
    let output: Vec<char> = vec![];
    Solution::reverse_string(&mut input);
    assert_eq!(input, output);
    let mut input: Vec<char> = vec!['h', 'e', 'l', 'l', 'o'];
    let output: Vec<char> = vec!['o', 'l', 'l', 'e', 'h'];
    Solution::reverse_string(&mut input);
    assert_eq!(input, output);
}

Having problems with this solution? Click here to submit an issue on github.