用遞歸的辦法,斷定某個字符串是否為回文
添加時間:2018-1-13 8:54:00 點擊量:
回文,即一個字符串正讀倒讀都一樣,如abcdcba
遞歸,就是反復應用同一種辦法。
在斷定字符串是否是回文的時辰,若是要采取遞歸,起首要解析出反復做的是什么工作
這里很明顯,要反復斷定兩端的字符是不是相等的,直到剩下最后一個或者0個字符的時辰
1#includestdafx.h
2#includestdio.h
3#includestring
4usingnamespacestd;
5
6intfun(charptr,intlen)
7{
8if(len==1||len==0)return1;
9if(ptr[0]==ptr[len-1])
10{
11ptr++;
12fun(ptr,len-2);
13}
14elsereturn0;
15}
16
17
18
19
20int_tmain(intargc,_TCHARargv[])
21{
22chartest[20]={0};
23printf(pleaseinputtheteststring\n);
24scanf(%s,test);
25
26if(fun(test,strlen(test)))printf(yes!itis\n);
27else
28printf(no!itisnot\n);
29return0;
30}
遞歸的運行時候長,占用內存大,益處是代碼量短
真正的心靈世界會告訴你根本看不見的東西,這東西需要你付出思想和靈魂的勞動去獲取,然后它會照亮你的生命,永遠照亮你的生命?!醢矐洝缎≌f家的十三堂課》
遞歸,就是反復應用同一種辦法。
在斷定字符串是否是回文的時辰,若是要采取遞歸,起首要解析出反復做的是什么工作
這里很明顯,要反復斷定兩端的字符是不是相等的,直到剩下最后一個或者0個字符的時辰
1#includestdafx.h
2#includestdio.h
3#includestring
4usingnamespacestd;
5
6intfun(charptr,intlen)
7{
8if(len==1||len==0)return1;
9if(ptr[0]==ptr[len-1])
10{
11ptr++;
12fun(ptr,len-2);
13}
14elsereturn0;
15}
16
17
18
19
20int_tmain(intargc,_TCHARargv[])
21{
22chartest[20]={0};
23printf(pleaseinputtheteststring\n);
24scanf(%s,test);
25
26if(fun(test,strlen(test)))printf(yes!itis\n);
27else
28printf(no!itisnot\n);
29return0;
30}
遞歸的運行時候長,占用內存大,益處是代碼量短
真正的心靈世界會告訴你根本看不見的東西,這東西需要你付出思想和靈魂的勞動去獲取,然后它會照亮你的生命,永遠照亮你的生命?!醢矐洝缎≌f家的十三堂課》