编辑代码

#include <stdio.h>

int ishuiwen(const char* str,int strLen){
    if(strLen <= 1){
        return 1;
    }
    if(str[0] == str[strLen - 1]){
        return isNot(str+1,strLen-2);
    }
    return 0;
}

//递推
int isNot(const char* str,int strLen){
    if(strLen <= 1){
        return 1;
    }
    for(int i=0; i < strLen/2; i++){
        if(str[i] == str[strLen - i - 1]){
            return 1;
        }
    }
    return 0;
}

int main () {
    //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。
    printf("是回文则返回1,否则返回0"); 
    printf("回文字符串递归实现%d\n",ishuiwen("01234",5));
    printf("回文字符串递归实现%d\n",ishuiwen("12321",5));
    printf("回文字符串递归实现%d\n",ishuiwen("12345",5));
    printf("========================");
    printf("回文字符串递推实现%d\n",isNot("01234",5));
    printf("回文字符串递推实现%d\n",isNot("12321",5));
    printf("回文字符串递推实现%d\n",isNot("12345",5));
    return 0;
}