Sobes.tech
Back to questions
Junior — Middle
64

Каким образом можно реализовать разворот строки в памяти?

Answer from AI

sobes.tech AI

В Java строка (String) является неизменяемым объектом, поэтому прямой разворот строки в памяти невозможен. Однако можно развернуть строку, используя массив символов (char[]), который можно изменить. Пример реализации разворота строки с помощью массива символов:

public class StringReverser {
    public static String reverse(String input) {
        char[] chars = input.toCharArray();
        int left = 0;
        int right = chars.length - 1;
        while (left < right) {
            char temp = chars[left];
            chars[left] = chars[right];
            chars[right] = temp;
            left++;
            right--;
        }
        return new String(chars);
    }

    public static void main(String[] args) {
        String original = "hello";
        String reversed = reverse(original);
        System.out.println(reversed); // вывод: olleh
    }
}

Таким образом, мы создаём изменяемый массив символов, меняем порядок символов в нём, а затем создаём новую строку из изменённого массива.