Reverse String

Problem

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

You must do this by modifying the input array in-place with O(1) extra memory.

Example 1:

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

Example 2:

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

Constraints:

  • 1 <= s.length <= 10^5
  • s[i] is a printable ascii character.

Solution

class Solution {
    public void reverseString(char[] s) {
        for (var i = 0; i < (int) Math.floor(s.length / 2); i++) {
            var dst = s.length - 1 - i;
            var tmp = s[i];
            s[i] = s[dst];
            s[dst] = tmp;
        }
    }
}

Recent posts from blogs that I like

Without looking it up, what do you think?

+ links

via Henrik Karlsson

Canals of Venice 1903-1910

Pointillisme in the city, with Henri-Edmond Cross and Paul Signac, with more by John Singer Sargent, in the early years of the 20th century.

via The Eclectic Light Company

Running Llama 3.2 Vision and Phi-3.5 Vision on a Mac with mistral.rs

via Simon Willison