Skip to content

Latest commit

 

History

History
37 lines (31 loc) · 965 Bytes

File metadata and controls

37 lines (31 loc) · 965 Bytes

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"]

Solutions (Rust)

1. Two Pointers

impl Solution {
    pub fn reverse_string(s: &mut Vec<char>) {
        if s.len() > 0 {
            let mut left = 0;
            let mut right = s.len() - 1;
            while left < right {
                s.swap(left, right);
                left += 1;
                right -= 1;
            }
        }
    }
}