Corretto. Ti segnalo solo due cose, per completezza:
1) La tua implementazione non funziona se viene inserita una riga "vuota", ovvero senza alcun carattere. Questo perché se la stringa è vuota non esistono indici validi .. nemmeno l'indice 0. Quindi qualunque charAt lancerebbe un bel StringIndexOutOfBoundsException. Questa è una cosa che se vuoi puoi verificare prima di fare altro.
2) In if((parola.charAt(0)) == (parola.charAt(ultimocarattere)))
le parentesi attorno ai due operandi di == non sono strettamente necessarie. Non fanno male e in questo caso non cambiano il senso della espressione ma appunto sono superflue.
In espressioni più complesse possono essere utili, anche se magari superflue, per chiarire il senso o rendere più leggibile il codice.