现在,我正在开发一个程序,该程序可以告诉您输入的字符串是否是回文,而我被困在最后一步。有三个基本函数可以删除句子中的所有空格,将其删除为小写,然后反转它们,这就是我的函数验证它们之后返回 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;