content-type:text/plain

class Arbre {

    private class Noeud {
      int clef;
      Noeud droit, gauche;
    }

    private Noeud racine;

    Arbre() {}
    Arbre(Noeud e) { racine = e; }

    int hauteur() {
      if (racine == null) return 0;
      return 1 + Math.max(droit().hauteur(), gauche().hauteur());
    }

    boolean estVide() {
      return premier == null;
    }

    int racine() {
      return premier.clef;
    }

    Arbre droit() {
      return new Arbre(premier.droit);
    }

    Arbre gauche() {
      return new Arbre(premier.gauche);
    }
}


