Что такое рекурсия и чем она опасна?
Суть
Рекурсия — функция вызывает саму себя, сводя задачу к меньшей. Нужны база (условие останова) и шаг, приближающий к базе. Естественна для деревьев, графов, «разделяй и властвуй» (merge sort, quicksort), разбора вложенных структур (JSON, выражения).
func sumTo(_ n: Int) -> Int { n == 0 ? 0 : n + sumTo(n - 1) }
print(sumTo(10_000)) // 50005000
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep