#include <iostream>
using namespace std;
int fun(int low, int high, char *str, int length){
if(length==0||length==1)
return 1;
if(str[low]!= str[high] && str[low]!=str[high]+32 && str[low]!=str[high]-32)
return 0;
return fun(low+1, high-1, str, length-2);
}
int main(){
char *str=new char[100];
cout<<"input the string:";
gets(str);
int length = strlen(str);
if(fun(0,length-1,str,length)){
cout<<"Palindrome."<<endl;
}else{
cout<<"Not Palindrome."<<endl;
}
return 0;
}
採用遞歸實現.