You're out of free questions.

Upgrade now

Write a method that takes an array of characters and reverses the letters in place.

Why an array of characters instead of a string?

The goal of this question is to practice manipulating strings in place. Since we're modifying the input, we need a mutable type like an array, instead of Java's immutable strings.

In general, an in-place algorithm will require swapping elements.

We swap the first and last characters, then the second and second-to-last characters, and so on until we reach the middle.

public static void reverse(char[] arrayOfChars) { int leftIndex = 0; int rightIndex = arrayOfChars.length - 1; while (leftIndex < rightIndex) { // swap characters char temp = arrayOfChars[leftIndex]; arrayOfChars[leftIndex] = arrayOfChars[rightIndex]; arrayOfChars[rightIndex] = temp; // move towards middle leftIndex++; rightIndex--; } }

time and space.

Reset editor

Powered by qualified.io

. . .