Contents

344. Reverse String

Problem

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

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

example 2

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

Solution

Walk to half of array

1
2
3
4
5
func reverseString(s []byte)  {
    for idx :=0; idx< len(s)/2;idx++ {
        s[idx],s[len(s)-1-idx] = s[len(s)-1-idx], s[idx]
    }
}