Эта проблема - один из вариантов вопросов о манипуляциях со строками, задаваемых на собеседовании.
Проблема:
Учитывая предложение «Добро пожаловать в мой блог», ожидается, что предложение будет перевернуто таким образом, чтобы все алфавиты были в обратном порядке, но положение пробелов осталось неизменным.
Пример ввода: Добро пожаловать в мой блог
Пример вывода: Golbymo te mo clew
Решение:
public class ReverseString { public static void main(String[] args) { String s = "Welcome to my blog"; int len = s.length(); int count = 0; for (int i = 0; i < len; i++) { if (s.charAt(i) == ' ') { System.out.print(' '); } else if (s.charAt(len - 1 - count) == ' ') { count++; i--; } else { System.out.print(s.charAt(len - 1 - count)); count++; } } } }
Сложность выполнения:
- Сложность времени: O (n)
- Сложность пространства: O (1)