если я создаю класс NullNode и инициализирую для него каждый родительский узел, я получаю переполнение стека, поскольку NullNode имеет NullNode, имеет NullNode и имеет .... до бесконечности. Я пытался установить для родительского элемента NullNode значениеnull, но тогда мне все еще нужно выполнить проверку нулевых ссылок для родителя, которая, кажется, не справляется с этой задачей.кто-нибудь сталкивался с этим?
Ваш NullNode
не должен фактически содержать другого NullNode
в качестве родителя.Просто внедрите getParent()
в NullNode
(или как вы там это называете), чтобы вернуть this
или self
или что-либо еще, что означает это на вашем языке.
Однако, это все равно может быть плохой идеей, поскольку вы do должны в какой-то момент остановить обход.Вышесказанное поможет вам преодолеть рекурсию конструктора, но у дерева нет корня, так как он имеет нулевые узлы весь путь вверх или все время падает или что-то в этом роде.
Об этом будет гораздо проще говорить, еслиВы фактически показываете код, даже если он не работает, и немного описываете свои планы использования.