TGViewer
Senior C++ Developer Senior C++ Developer @seniorcpp · 11.6K subscribers
Post #1477 2.48K
Дана входная строка s, необходимо изменить порядок слов в строке на противоположный.

Слово определяется как последовательность символов, не содержащих пробелов. Слова в s будут разделены как минимум одним пробелом.
Вернуть строку, состоящую из слов в обратном порядке, объединенных одним пробелом.
*s может содержать начальные или конечные пробелы, а также несколько пробелов между двумя словами. Возвращаемая строка должна содержать только один пробел, разделяющий слова.

Способ решения:
- Определяем два указателя (left, right) на первый и последний символы без пробела.
- Начинаем обход слева направо. Когда получаем пробел, проверяем, был ли символ перед ним пробелом или нет. Если да, игнорируем его и продолжаем. Иначе добавим текущее слово (temp) перед текущим ответом (ans = temp + " " + ans)
- Как только дойдем до конца (left == right), добавляем последнее слово перед ответом аналогично с предыдущим пунктом.
- Стираем последний пробел в ответе (ans.erase(ans.begin() + ans.length() - 1);)

#разбор_кода
More from @seniorcpp
  1. Oct 15, 2026Трюки с логарифмом Функцию log можно использовать для ряда изящных решений.
  2. Oct 14, 2026Алгоритмы all_of, any_of и none_of Начиная с C ++ 11, в STL C ++ добавляются некоторые нов…
  3. Oct 13, 2026Как написать «Змейку» на C++ в четыре переменные? Пишем классическую «Змейку», как на КДПВ…
  4. Oct 12, 2026Алгоритм set_symmetric_difference Строит отсортированную последовательность из элементов,…
  5. Oct 11, 2026Для чего нужен аллокатор и как создать свой собственный аллокатор? Аллокатор это шаблонный…
  6. Oct 10, 2026Макрос watch Макрос watch — один из самых полезных приёмов. При отладке кода watch(перемен…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →