0
這是什麼基礎案例?這是完全正常的,但它是如何工作的?這個遞歸函數的基本情況是什麼?它的工作原理是什麼?
int isPali(char *s, int l, int r)
{
return ((l == r) || (s[l] == s[r] && isPali(s, l+1, r-1)));
}
int main()
{
char str[100];
scanf("%s", str);
if(isPali(str, 0, strlen(str)-1))
printf("Palindrome\n");
else
printf("Not palindrome\n");
}
步驟通過它在調試器中找到答案。 –
''l == r''是基本情況 - 但我認爲這需要是''l> = r'':正如所寫,長度爲偶數的字符串將失敗,因爲左側和右側索引會相互傳遞沒有變得平等。 – jasonharper