Skip to main content

Two approaches to string reversal (part dd8b)

Updated 1 min readMarkdown

У большинства учебных задач есть минимум два честных решения — сравним их.

Задача

Перевернуть строку: из "python" получить "nohtyp". Задача-разминка, знакомая каждому новичку.

Решение

def reverse_string(s: str) -> str:
    return s[::-1]


print(reverse_string("python"))

Как это работает

Срез [::-1] проходит строку с конца с шагом -1 и создаёт перевёрнутую копию. Это идиоматичный способ в Python; в других языках тот же результат даёт цикл от конца к началу.

Пример работы

nohtyp

Сложность

O(n) по времени и памяти.

Альтернативный подход

Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.

Оба подхода рабочие; важно понимать цену каждого, а не копировать первый попавшийся.

Читайте также:

тестах · работы · попавшийся · перевёрнутую · копию · решают · стандартную · идиоматичный · ручной · [s::-1 · python · задач · Альтернатива · проходит · Решение · алгоритма · Задача · библиотеку · иначе · минимум · задачу · результат · работает · новичку · Сложность · Перевернуть · сравнить · Задача-разминка

No comments yet. Be the first to comment.

More from this blog