您的位置:首页 > 其它

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

2013-05-10 16:27 274 查看
回文,即一个字符串正读倒读都一样,如abcdcba

递归,就是重复使用同一种方法。

在判断字符串是否是回文的时候,如果要采用递归,首先要分析出重复做的是什么事情

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

#include "stdafx.h"
#include "stdio.h"
#include "string"
using namespace std;

int fun(char *ptr,int len)
{
if (len==1||len==0) return 1;
if (ptr[0]==ptr[len-1])
{
ptr++;
fun(ptr,len-2);
}
else return 0;
}

int _tmain(int argc, _TCHAR* argv[])
{
char test[20]={0};
printf("please input the test string\n");
scanf("%s",test);

if (fun(test,strlen(test))) printf("yes! it is\n");
else
printf("no! it is not\n");
return 0;
}


递归的运行时间长,占用内存大,好处是代码量短
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: