使用递归检查Palindrome

Sea*_*ean 2 c++ recursion palindrome

我正在尝试实现一个函数,它将检查一个单词是否是回文以下是我试图使用的代码.该代码显然适用于一个字母的单词,而不会以相同的字母开头和结尾的单词.它失败了.请帮忙

bool is_palindrome(int start, int end, const string & str)
{
    if (str[start] != str[end])
        return false;
    else if (start == end)
        return true;
    else
        return is_palindrome(start++, end--, str);

    return false;
}
Run Code Online (Sandbox Code Playgroud)

这是函数调用的主要函数 http://csel.cs.colorado.edu/%7Eekwhite/CSCI2270Fall2011/recursion_lab/palindrome.cxx

Lig*_*ica 7

start++递增[local]变量start,并计算为值.您希望评估新值,并且根本不需要更改局部变量.

所以写start+1, end-1一下,然后考虑你的字符串有偶数个字符的情况,因为那里有另一个问题.