Skip to main content

Step-by-step: string reversal (part b9f5)

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) по времени и памяти.

Разбор по шагам

  1. Шаг 1. Входные данные. Проверяем, что приходит в функцию, и какие значения считаются корректными.
  2. Шаг 2. Основной цикл. Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации.
  3. Шаг 3. Результат. Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.

Когда каждый шаг понятен, доработка решения перестаёт быть лотереей.

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

итерации · крайние · Сложность · переменных · Медленный · языках · Перевернуть · просто · случаи · знакомая · каждой · конца · началу · значение · Входные · данные · изменениями · лотереей · проходит · копию · Результат · Пример · времени

No comments yet. Be the first to comment.

More from this blog