Quote Originariamente inviata da andbin Visualizza il messaggio
E' sbagliato. Innanzitutto in verifica fai la ricorsione passando 1 solo argomento. Poi in presente se a.val() È uguale a v, tu restituisci false. Che non è giusto. Stesso discorso poi già fatto del OR "logico" che si può usare.

Non ho analizzato in dettaglio, comunque.
Ah scusa...mi è sfuggito un parametro...
Riscrivo :

codice:
public static boolean verifica(AlberoBinario a, AlberoBinario b){
 if(a==null) return true;
  if(presente(b, a.val()){
    verifica(a.destro(), b) || verifica(a.sinistro(), b) ;
  }
 return false;
}

boolean presente(AlberoBinario a, int v){
 if(a==null) return false;
  if(a.val() != v){
    presente(a.destro(),v) || presente(a.sinistro(), v);
  }
  return true;
}