用遞迴判斷字串是否為回文(利用指標)

2021-09-01 13:28:06 字數 470 閱讀 2492

回文指的是,類似eveve,正序和反序相同的字串

演算法思想:

設立兩個字串指標p,q。

p指標指向字串首位址,q指向字串尾位址(其實就是首位址加上字串長度(len)減1,位址是從0開始計算,所以需要減1計算)

判斷頭尾指標指向的字元是否相等(注意是*p和*q,是指向字串中的字元,並不是指向字串,這裡需要注意),如果相等,指標向內移動,即(p--,q++),再次呼叫函式(直到兩個指標即將相交時,即判斷到最裡面一對字元相等識,結束程式,返回結果:真)。如果不相等,結束程式,即產生結果:假。

#include #include #include //主函式,執行函式

int main() else }

//回文判斷函式

int plaindrome(char *p,char *q)

if(*p==*q)else

}

判斷字串是否為回文串

題目 給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false字串轉為小寫字串從字串開始和...

YTUOJ 判斷字串是否為回文

編寫程式,判斷輸入的乙個字串是否為回文。若是則輸出 yes 否則輸出 no 所謂回文是指順讀和倒讀都是一樣的字串。abcddcbayes 如下 include include include using namespace std int reverse int int char int int m...

使用遞迴判斷字串是否是回文串

判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。使用遞迴 1 如果是負數,一定不是回文串 2 如果是回文串,使用遞迴不會返回false,如果返回false,則不是回文串 param x return var ispalindrome function x va...