用递归的方法,判断某个字符串是否为回文
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用递归的方法,判断某个字符串是否为回文
回文,即一个字符串正读倒读都一样,如abcdcba
递归,就是重复使用同一种方法。
在判断字符串是否是回文的时候,如果要采用递归,首先要分析出重复做的是什么事情
这里很明显,要重复判断两端的字符是不是相等的,直到剩下最后一个或者0个字符的时候
1 #include "stdafx.h"
2 #include "stdio.h"
3 #include "string"
4using namespace std;
5
6int fun(char *ptr,int len)
7 {
8if (len==1||len==0) return1;
9if (ptr[0]==ptr[len-1])
10 {
11 ptr++;
12 fun(ptr,len-2);
13 }
14else return0;
15 }
16
17
18
19
20int _tmain(int argc, _TCHAR* argv[])
21 {
22char test[20]={0};
23 printf("please input the test string\n");
24 scanf("%s",test);
25
26if (fun(test,strlen(test))) printf("yes! it is\n");
27else
28 printf("no! it is not\n");
29return0;
30 }