Найти в Дзене
DEBAGanov

Java 452. Напишите программу на Java, чтобы перевернуть заданную строку с сохранением положения пробелов?

Чтобы перевернуть заданную строку, сохраняя положение пробелов, можно использовать следующий алгоритм:

  • Преобразуйте строку в массив слов с помощью метода split().
  • Отразите каждое слово в массиве.
  • Объедините отраженные слова и добавьте между ними пробелы.

Вот пример кода на Java, который реализует такой алгоритм:

public static String reverseWords(String str) {
String[] words = str.split("\\s"); // разбиваем строку на массив слов StringBuilder sb = new StringBuilder();
for (String word : words) {
sb.append(new StringBuilder(word).reverse().toString()).append(" ");
// отражаем каждое слово и добавляем его с пробелом к результирующей строке }
return sb.toString().trim(); // удаляем последний пробел из результата }

В этом примере мы сначала используем метод split("\s"), чтобы разбить исходную строку на массив слов.

Затем мы проходим по каждому слову в массиве и используем метод reverse() класса StringBuilder для его отражения. Мы добавляем отраженное слово с пробелом к объекту типа StringBuilder, который содержит все отраженные слова.

Наконец, мы удаляем последний пробел из результирующей строки, используя метод trim(), и возвращаем результат.

Заметьте, что данная реализация сохраняет только пробелы, а не другие символы разделения, такие как запятые или точки с запятой.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov