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

Rewriting pycparser with the help of an LLM

pycparser is my most widely used open source project (with ~20M daily downloads from PyPI [1]). It's a pure-Python parser for the C programming language, producing ASTs inspired by Python's own. Until very recently, it's been using PLY: Python Lex-Yacc for the core parsing. In this post, I'll descri...

via Eli Bendersky

the disorientation of freedom

beyond words

via bookbear express

Distributing Go binaries like sqlite-scanner through PyPI using go-to-wheel

via Simon Willison