Ваш код не будет работать, если только одна сторона равна null , например,
3
/ \
20
/ \
15 7
, поскольку она вернет 1 (в то время как 3
не является листом).
Вам нужно проверить, равна ли одна сторона нулю , проигнорировать ее и разобраться с другой стороной