Secondo me il metodo può ancora essere ottimizzato:
perdonate se alcuni comandi non esistono in C, (arrivo da java =P)codice:for ( i=0 ; i< ( strlen(a)/2 ) ; i++) { if ( a.charAt(i) != a.charAt( strlen(a)-i ) ) { return false; } } return true
il concetto è:
faccio un for fino a metà stringa, confronto la prima con l'ultima e così via appena ne trovo una falsa esco con false, se termino il for esco con true.