Método de Subtração de uma arvore binária

Boa noite ou bom dia, gostaria de orientação no que estou tentando fazer, que é um método para subtrair o maior elemento com o menor elemento dentro de uma arvore binária, até o momento obtive esta ideia, segue partes do codigo:

//classe no
public class No {

	int chave;
	String nome;
	String rua;
	int numeroRua;
	private String cpf;
	No filhoEsquerda; 
	No filhoDireita; 

}

//classe arvore
public class arvore {


public void inserir(No novoNo){

}
public boolean Deletar(int chave){
.......
}
private No getSucessor(No atual)
{
.....
}


//metodo subtrair maior pelo menor elemento da arvore
	public void subtracaoDelementos(No raizLocal) {
		int maior = raizLocal.chave;
		int menor = raizLocal.chave;
		
		if (raizLocal != null) {
			if(maior < raizLocal.filhoDireita)
				maior = raizLocal;
			this.subtracaoDelementos(raizLocal.filhoDireita);
			return maior;
			else
				return 0;
			
			///
			 if(raizLocal != null){
				if(menor > raizLocal.chave)
					menor = raizLocal;
				this.subtracaoDelementos(raizLocal.filhoEsquerda);
				return menor;
				
			}
		}

	}

toda ajuda, orientação é bem vinda,pois estou confuso.