// Задание 6: рекурсивный метод возвращает количество листьев в поддереве public int AmountOfLeaves() { // выход из рекурсии. Случай листа(нет потомков) if (Left == null && Right == null) { return(1); } // случай сучка(есть только левый потомок) if (Left != null && Right == null) { return(Left.AmountOfLeaves()); } // случай сучка(есть только правый потомок) if (Left == null && Right != null) { return(Right.AmountOfLeaves()); } // случай сучка(есть оба потомка) if (Left != null && Right != null) { return(Left.AmountOfLeaves() + Right.AmountOfLeaves()); } // сюда программа дойти не может, поскольку разобраны всевозможные случаи return(-1); }