[RESOLVIDO] Arvore de Expressões

Estou implementando arvore binaria de expressões aritméticas e gostaria de saber como guardar o ultimo node adicionado a ela sem ter de percorre-la para saber qual é este.

import java.util.Arrays;
 import java.util.List;

public class Arvore{
private Node raiz;

public Arvore(){ }

public boolean ehOperador(Node node){
   List<String> lista = Arrays.asList("+","-","*","/","^");
   return lista.contains(node.getX()); 
}

private boolean isEmpty(){
  if(raiz == null) return true;
  else return false;
}

private String concatena(String part1,String part2){
   return part1.concat(part2);  
}

private String CharToString(char x){
   return Character.toString(x);  
}

public void inserir(String expressao){
   for(int i=0; i<expressao.length(); i++){
      String str = CharToString(expressao.charAt(i)); 
      Node node = new Node(str);
      inserir(node);
   }
}

private void inserir(Node node){
   if(isEmpty()) raiz = node;

   if(ehOperador(node)){
      node.setNodeEsquerda(raiz);
      raiz = node;         
   }else{
      if(raiz.getNodeEsquerda() == null) raiz.setNodeEsquerda(node);
      else raiz.setNodeDireita(node);
   }
   //Aqui é o ponto onde eu adicionei e quero marcar como ultimo para que eu 
   //possa comparar com o próximo a ser inserido
}
}

Preciso comparar o atual com o ultimo adicionado pois se ambos não forem operadores aritméticos if(!ehOperador(ultimo) && !ehOperador(node)) eu preciso concatená-los, formando um único número.

Desde já, agradeço pela atenção.

OBS: A classe Node contem somente métodos getters e setters básicos com os atributos: Node esquerda, Node direita e String x.