C++检查回文时如何忽略上下的区别?

C++ How to ignore the difference between upper and lower when checking Palindrome?

bool isPalindrome(const char *s1)
{

  const char *start, *end;

  start = s1;
  end = s1 + strlen(s1) - 1;


  while (start < end)
      if(*start++ != *end--)
        return false;
  return true; 
}

我写了检查回文的代码,但是忽略了忽略上下差的要求。 我对此一无所知。 你能帮助我吗? 谢谢!

有一个名为 "tolower" 的函数,它会将大写字母转换为小写字母。如果它已经是小写或不是字母,它将 return 值不变。您编写的代码非常接近完全正确,只需稍作改动。

if(*start++ != *end--)

会变成

if(tolower(*start++) != tolower(*end--))