用递归的办法,断定某个字符串是否为回文

    添加时间:2013-5-10 点击量:

    回文,即一个字符串正读倒读都一样,如abcdcba


    递归,就是反复应用同一种办法。


    在断定字符串是否是回文的时辰,若是要采取递归,起首要解析出反复做的是什么工作


    这里很明显,要反复断定两端的字符是不是相等的,直到剩下最后一个或者0个字符的时辰



     1 #include stdafx.h
    
    2 #include stdio.h
    3 #include string
    4 using namespace std;
    5
    6 int fun(char ptr,int len)
    7 {
    8 if (len==1||len==0return 1;
    9 if (ptr[0]==ptr[len-1])
    10 {
    11 ptr++;
    12 fun(ptr,len-2);
    13 }
    14 else return 0;
    15 }
    16
    17
    18
    19
    20 int _tmain(int argc, _TCHAR argv[])
    21 {
    22 char test[20]={0};
    23 printf(please input the test string\n);
    24 scanf(%s,test);
    25
    26 if (fun(test,strlen(test))) printf(yes! it is\n);
    27 else
    28 printf(no! it is not\n);
    29 return 0;
    30 }


    递归的运行时候长,占用内存大,益处是代码量短


    真正的心灵世界会告诉你根本看不见的东西,这东西需要你付出思想和灵魂的劳动去获取,然后它会照亮你的生命,永远照亮你的生命。——王安忆《小说家的十三堂课》
    分享到: