Comparar se os caracteres na posição de uma String são iguais da outra

Olá, não sei se fui claro no título, mas estou realizando a matéria de estrutura de dados e preciso verificar se é um palíndromo ou não usando Pilhas e Filas. Eu não posso alterar nada nas classes, somente na main, eu cheguei a isso.

String s = "TESTE";
Pilha p = new Pilha(s.length());
Fila f = new Fila(s.length());

char s2;

// while(!f.isFull()){
for (char c : s.toCharArray())
  f.push(c);
for (int i = 0; i < s.length(); i++) {
  System.out.print(f.pop());
}
System.out.println("");
System.out.println("-------");
for (char c : s.toCharArray())
  p.push(c);
for (int i = 0; i < s.length(); i++) {
  s2=p.pop();
  System.out.print(s2);
 
}

A saída é:

TESTE


ETSET

Mas como consigo faço para comparar se as duas saídas são iguais? Ou seja na mesma posição seja a mesma letra.

Segue as classes:

public class Fila{

private char[] vetor;
private int fim;

public Fila(int tam){
vetor = new char[tam];
fim = -1;
}

public void push(char valor){
if(fim == vetor.length-1)
System.out.println(“Fila Cheia!”);
else{
fim++;
vetor[fim]=valor;
}
}

public char pop(){
char aux = vetor[0];
if(fim>=0){
for(char i=0; i<fim; i++)
vetor[i] = vetor[i+1];
fim–;
return aux;
} else{
System.out.println(“Fila Vazia!”);
return ‘?’;
}
}

public boolean isFull(){
return (fim == vetor.length-1);
}

public boolean isEmpty(){
return (fim == -1);
}
}

public class Pilha{

private char[] vetor;
private int topo;

public Pilha(int tam){
vetor = new char[tam];
topo = -1;
}

public void push(char valor){
if(topo==vetor.length-1)
System.out.println(“Pilha Cheia!”);
else{
topo++;
vetor[topo]=valor;
}
}

public char pop(){
int aux = topo;
if(topo>=0){
topo–;
return vetor[aux];
} else{
System.out.println(“Pilha Vazia!”);
return ‘?’;
}
}

public boolean isFull(){
return (topo == vetor.length-1);
}

public boolean isEmpty(){
return (topo == -1);
}
}

Obs.: as operações de push e pop, ou seja, os termos são para pilhas e não para filas. Para filas os termos são enqueue e dequeque, respectivamente. Usar o método charAt não resolve? Exemplo:

for (int i = 0; i < s.length(); i++) {
  char letraRetirada = f.pop();
  if(f.pop() == s.charAt(i));
	System.out.ptintln("Letra: " + letraRetirada 
		+ " da fila corresponde à letra " + s.charAt(i) +  " da String");
}

Após sua resposta cheguei a algo semelhante, segue a resolução final caso alguém venha procurar mais tarde.

 public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
System.out.println("Digite a frase para verificação: ");
// Substituindo o que foi digitado no console, retirando os acentos e pontuações
// e deixando tudo com letra minúscula para facilitar a validação
String entrada = scan.nextLine().toLowerCase().trim().replaceAll(" ", "").replaceAll(",", "")
    .replaceAll("[èéêë]", "e").replaceAll("[ûù]", "u").replaceAll("[àâ]", "a").replaceAll("ô", "o")
    .replaceAll("-", "").replaceAll(":", "").replaceAll("ç", "c");

    //criando uma pilha com tamanho da frase que foi digitada.
Pilha p = new Pilha(entrada.length());
for (int i = 0; i < entrada.length(); i++) {
  //colocando o as letras da frases "quebradas" em char numa pilha
  p.push(entrada.charAt(i));
}
//váriavel para receber a frase ao contŕario
String inverso = "";
while (!p.isEmpty()) {
  //enquanto a pilha não for vazia, acrescenta o que vem da pilha transformando na frase ao contrário
  inverso += p.pop();
}
//validando se a saida da pilha é igual a entrada, ignorando se é maiúscula ou não
if (inverso.equalsIgnoreCase(entrada)) {
  
  System.out.println("Palíndromo");
} else {
  System.out.println("Não Palíndromo");
}
scan.close();

}
}