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

Inglorious mud: 1 On the move

How the rich paid to walk on planks to cross muddy streets, and hussars helped ladies over mud ruts, children at play, roads in London and Leeds, and a cheeky ploughboy.

via The Eclectic Light Company

The case for sans-io

via fasterthanlime

Using pip to install a Large Language Model that's under 100MB

via Simon Willison