如果一个字符串是回文,那么在它的内部一定存在着更小的回文。
先判断给定字符串的首尾字符是否相等
#include "stdio.h"
#include "string.h"
int main(void){
int n, rs;
char str[50];
printf("请输入需要判断回文的字符串:");
scanf("%s",&str);
n = (int)strlen(str);
rs = is_palindereme(str, n);
printf("%d ", rs);
}
int is_palindereme(char *str, int n){
// printf("Length: %d \n",n);
printf("%c ----- %c\n", str[0], str[n-1]);
if(n == 0 || n == 1){
return 1;
}
else{
//printf("%d, %d\n", str[0], str[n-1]);
return ((str[0] == str[n-1]) ? is_palindereme(str+1, n-2) : 0);
}
}
版权声明:本文为weixin_52971839原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。