Вы можете использовать рекурсивный вызов по цепочке связанных списков со ссылкой на то, что вы хотите написать.Каждый узел будет использовать функцию печати дочернего узла при передаче ссылки перед самой печатью.
Таким образом, каждый узел в списке будет проходить вниз, пока последний не сможет и не перейдет прямо к записи, затемкаждый из резервных копий цепочки будет записывать после последнего весь путь обратно вперед.
Редактировать
Это на самом деле не соответствует спецификациям из-залинейное пространство в стеке.Если у вас есть что-то снаружи для обхода функций и метода записи в начало строки, базовая логика все же может работать.