使用递归判断字符串是否回文

  • Post author:
  • Post category:其他


如果一个字符串是回文,那么在它的内部一定存在着更小的回文。

先判断给定字符串的首尾字符是否相等

#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 版权协议,转载请附上原文出处链接和本声明。