public static boolean what (Node n)
{
if (n == null)
return true;
if (n.getLeftSon()==null && n.getRightSon()==null)
return true;
if (n.getRightSon()==null)
return (n.getNumber() % n.getLeftSon().getNumber() == 0)
&&
what (n.getLeftSon());
if (n.getLeftSon()==null)
return (n.getNumber() % n.getRightSon().getNumber() == 0)
&&
what (n.getRightSon());
return (n.getNumber() % n.getLeftSon().getNumber() == 0)
&& (n.getNumber() % n.getRightSon().getNumber() == 0)
&& what (n.getLeftSon())
&& what (n.getLeftSon());
}
I think that the method checks for sons which are zeros, in case she find out, she return false, else she returns true? right ?