现在,我正在开发一个程序,该程序可以告诉您输入的字符串是否是回文,而我被困在最后一步。有三个基本函数可以删除句子中的所有空格,将其删除为小写,然后反转它们,这就是我的函数验证它们之后返回 bool(boolean) 值的时候。因此,现在使用此功能,生日快乐!会以yadhtribyppah的形式出现。
到目前为止,这是我的职责:

string updated1;
string updated2;

updated1 = makeLower(verify);

updated2 = removeNonLetters(updated1);

updated1 = reverse(updated2);


for (int i = 0; i < updated2.length(); i++)
{
    if (updated2[i] != updated1[i])
    {
        break;
        return false;
    }
    else if (updated2[i] == updated1[i])
    {
        return true;

    }



}

}

最佳答案

假设其他函数没有错误,请将for循环更改为:

for (int i = 0; i < updated2.length(); i++)
{
    // If we find even one inequality, we know its not a palindrome.
    if (updated2[i] != updated1[i])
        return false;
}
// if the for loop has been executed satisfactorily, we know that it is a palindrome.
return true;

09-07 07:35