В данный момент, если p.left != null
, то даже не будет проверяться p.right
.else-if
должно быть просто if
.Кроме того, вы говорите, что если оба соседних узла имеют значение NULL, тогда вызывайте deleteLeaves()
для них, что не имеет смысла, потому что они NULL.Перестройте свой код;У @aioobe есть хорошее предложение