Ciao a tutti,
ho questo pezzetto di programma del quale non capisco la sintassi dei return...

ElemType find(int key){
int thiskey = element.getkey();
if (key < thiskey)
return left==null ? null : left.find(key);
if (key > thiskey)
return right==null ? null : right.find(key);
else return element;

Apparte l'ultimo return gli altri 2 nn li capisco proprio...qualcuno sa aiutarmi?
Grazie buona giornata a tutti