При использовании рекурсивных функций есть некоторые вещи, которые мы должны учитывать, чтобы построить их правильно и эффективно:

  1. Укажите базовый случай.
  2. Выясните минимальные фрагменты информации, чтобы представить вашу проблему.
  3. Дайте разумные значения этим минимальным фрагментам информации (чтобы остановить бесконечный цикл рекурсии).
  4. Проверьте базовый случай. Осталась ли работа? Если не вернуть.
  5. Всякий раз, когда мы снова вызываем функцию, мы хотим убедиться, что мы каким-то образом изменили аргументы.