Ты разобрал оба паттерна работы с деревьями. Теперь попробуй решить задачи самостоятельно — но перед тем как писать код, определи какой паттерн подходит:
- Снизу вверх — ответ в узле зависит от ответов детей. Собираем информацию от листьев к корню.
- Сверху вниз — если нужно дополнительно передавать информацию от корня к листьям
Перед каждой задачей задай себе вопрос: мне нужна информация только от дочерних узлов или этого недостаточно и нужно передавать что-то от родителя? Ответив на него, ты сможешь без проблем выбрать паттерн.