package binary_tree;

import java.util.Iterator;

public class ExerciseBinaryTree {
	
	
	/*
	 * Esercizio 1  II parziale 10.01.2018
	 * Un albero binario di interi si dice pari se tutti i nodi contengono
	 * un intero positivo pari.  Realizzare il metodo statico 
	 * public static boolean IsEvenBtree (BinaryTree<Integer> btree) 
	 * che verifica se l'albero binario dato btree e' pari.
	 */
	/*
	 * Spiegazione, in questo caso, non stiamo operando direttamente 
	 * dall'interno dell'albero, quindi possiamo sfruttare gli iteratori.
	 * Essendo che dobbiamo per forza verificare tutit i vari nodi possiamo
	 * adoperare qualsiasi tipo di iteratore.
	 */
	public static boolean isEvenBtree(BinaryTree<Integer> btree) {
		boolean even = true;
		Iterator<Integer> iterator = btree.iteratorInOrder();
		while (iterator.hasNext() && even) {
			Integer current = iterator.next();
			if (current % 2 == 0) even = false;
		}
		return even;
	}
	
}
