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