遞迴之回文

2021-06-17 01:17:10 字數 1148 閱讀 7650

所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的。比如"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,以乙個換行符結束。輸出中不得含有多餘的空...