c++ - 验证字符串是否为回文的函数

标签 c++ palindrome

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

    }



}

最佳答案

  1. 删除 break 并在字符不同时返回 false。
  2. 不要在循环内返回 true - 在遍历所有字符之前,您不知道这是一个回文!取而代之的是,如果 for 循环在循环外完成,则返回 true。

关于c++ - 验证字符串是否为回文的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20166145/

相关文章:

C++,将 vector<char> 写入 ofstream 会跳过空格

c++ - 数据库中的自动 id 与通过代码自动 id

java - 从两个三位数的乘积中优化最大的回文数?

javascript - 检查此 Javascript 代码是否为 'DRY' 或效率低下

list - 回文(作业)

c++ - (目标-)C++ 模板特化上的重复符号

c++ - 如何将 char* 数组转换为 std::string

c - 如何在c中使用指针获取回文?

c++ - 更正实时 IMFMediaSource 时间戳

c - PALIN 的 spoj 上的 c 代码中出现运行时错误 SIGSEGV