现在我正在开发一个程序,它会告诉您输入的字符串是否是回文,而我卡在了最后一步。有三个基本函数可以删除句子中的所有空格,将它们变为小写,然后反转它们,然后我的函数验证它们然后返回一个 bool 值。所以现在在这个功能中,生日快乐!将以 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;
}
}
最佳答案
- 删除
break
并在字符不同时返回 false。 - 不要在循环内
返回 true
- 在遍历所有字符之前,您不知道这是一个回文!取而代之的是,如果 for 循环在循环外完成,则返回 true。
关于c++ - 验证字符串是否为回文的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20166145/