Ciao a tutti,
devo sviluppare in C una funzione che controlli se una stringa è palindroma usando la ricorsione. Sono arrivato ad un buon punto con questa funzione:
Codice:
int isPalindrome(int i, int j) // i è 0(l'inizio della stringa) j è la lunghezza meno 1
{
if (j == 0)
{
return 1;
}else if (j == 1)
{
return 1;
}else
{
if (str[i] == str[j]){
return isPalindrome(i+1,j-1);
}else{
return 0;
}
}
}
Che compila e funziona correttamente. La mia domanda è se però l'idea di fondo è corretta. Riguardando mi sembra che faccia delle chiamate ricorsivi inutili. Secondo voi?
Grazie