Эта проблема - один из вариантов вопросов о манипуляциях со строками, задаваемых на собеседовании.

Проблема:

Учитывая предложение «Добро пожаловать в мой блог», ожидается, что предложение будет перевернуто таким образом, чтобы все алфавиты были в обратном порядке, но положение пробелов осталось неизменным.

Пример ввода: Добро пожаловать в мой блог

Пример вывода: 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)