В коде удаления из здесь.
Я не понимаю первый фрагмент кода удаления (где у узла нет двух дочерних элементов).
Если у удаляемого узла есть родитель и сам дочерний элемент (т. е. у узла есть один дочерний элемент), как это работает?
Код просто удаляет узел, а не устанавливает родительские указатели на осиротевшего потомка.
Я что-то упускаю?