Вывести строку в обратном порядке, каждую вторую букву

11. Вывести строку в обратном порядке, каждую вторую букву

Условие задачи:
📌 Дан String.
Нужно:

  • вывести строку в обратном порядке,

  • взять каждую вторую букву,

  • использовать Stream API,

  • не использовать reverse(),

  • без дополнительных внешних структур данных,

  • один конвейер вычислений.

Код:

String s = "Spring Boot!";
Спойлеры к решению
Подсказки
💡 Можно стримить индексы строки.
💡 Для разворота — идти от length - 1 к 0.
💡 Каждая вторая буква — фильтр по индексу.
💡 mapToObjcharAt.
💡 forEach или collect.
Решение
String result =
        Stream.iterate(s.length() - 1, i -> i >= 0, i -> i - 2)
              .map(s::charAt)
              .map(String::valueOf)
              .collect(Collectors.joining());

System.out.println(result);