C++ 递归算法判断字符串是否为回文
C++ 递归算法判断字符串是否为回文
本文将介绍使用递归算法判断字符数组存储的字符串是否为回文的思路和实现方法。
递归模型
判断字符串 'str' 是否为回文,即判断 'str' 的首尾字符是否相同。如果相同,则递归判断去掉首尾字符后的子字符串是否为回文,直到字符串长度为 0 或 1。
递归程序
bool isPalindrome(char* str, int start, int end){
if(start >= end) //字符串长度为0或1,是回文
return true;
if(str[start] != str[end]) //首尾字符不相同,不是回文
return false;
return isPalindrome(str, start+1, end-1); //递归判断去掉首尾字符后的子字符串是否为回文
}
调用方法
char str[] = 'level';
int len = strlen(str);
bool result = isPalindrome(str, 0, len-1);
if(result)
cout << '是回文' << endl;
else
cout << '不是回文' << endl;
本文示例展示了使用 C++ 语言实现判断字符串是否为回文的递归算法。通过理解递归模型和代码实现,可以更好地掌握递归算法的应用。
原文地址: https://www.cveoy.top/t/topic/nm8j 著作权归作者所有。请勿转载和采集!