所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的。比如"level" 、 「aaabbaaa」
題目:判斷乙個字串是否為回文
解法:遞迴
遞迴的作用在於把問題的規模不斷縮少,直到問題縮少到能簡單地解決
問:如何縮少問題規模?
答:通過觀察可以知道,乙個回文字串其中內部也是回文。所以,我們只需要以去掉兩端的字元的形式一層層檢查,每一次的檢查都去掉了兩個字元,這樣就達到了縮少問題規模的目的。
新問題與原問題有著相同的形式
當去掉兩端字元後的字串,其產生的新問題同樣是檢查這個字串是否回文。
遞迴的結束需要簡單情景
1. 字串長度可能會奇數或偶數:
2. 如果檢查到兩端兩個字元不相同。則說明此字串不是回文,直接返回0,不需要繼續檢查
遞迴跳躍的信任
此題的遞迴分解比較簡單,所以對在遞迴過程中細節的實現,我們可以直接看出。但是一些較複雜的題目上,我們就沒那麼容易看出過程中細節的實現,這時候就需要我們遞迴跳躍的信任!
[cpp]view plain
copy
print?
#include
using
namespace
std;
intfun(
intlow,
inthigh,
char
*str,
intlength)
intmain()
當然這題可以不用遞迴函式的,可以直接用字串陣列或者是string類來做下面寫個主要部分:int leap=0;for(int i=0;ielse leap=0;break;}if(leap==0)return 0;else return 1;
《遞迴入門》之回文
所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的。比如 level aaabbaaa 題目 判斷乙個字串是否為回文 解法 遞迴 遞迴的作用在於把問題的規模不斷縮少,直到問題縮少到能簡單地解決 問 如何縮少問題規模?答 通過觀察可以知道,乙個回文字串其中內部也是回文。所以,我們只需要以去...
python遞迴之簡單 回文
回文,即乙個字串兩側字元始終是對稱的,如abba,act5tca等。用python的遞迴解決起來,又讓人耳目一新 def is palindrome s if s 或 return true else if s 0 s 1 return is palindrome s 1 1 else return...
回文字串(遞迴 非遞迴)
fj的字串 description fj在沙盤上寫了這樣一些字串 a1 a a2 aba a3 abacaba a4 abacabadabacaba 你能找出其中的規律並寫所有的數列an嗎?input 僅有乙個數 n 26。output 請輸出相應的字串an,以乙個換行符結束。輸出中不得含有多餘的空...