При повторении по дереву базовым случаем будет конечный узел, то есть узел без дочерних элементов.Для такого узла вы могли бы предположить, что он прошел тест (поскольку в противном случае ваш алгоритм должен был бы уже вернуть false), поэтому вы должны вернуть true.
В общем случае вы захотите проверить,узел меньше, чем оба его потомка, и если нет, возвращает False.В противном случае, чтобы убедиться, что условие выполняется для обоих детей, вы должны вернуть результат повторения по левой стороне and
результат повторения по правой стороне:
return check(node.left) and check(node.right)