如何检查区分大小写的单词是否是回文

时间:2019-07-04 12:04:16

标签: c#

我制作了一个程序来检查单词是否是回文。

但是,如果我键入“大声笑”,则表明这是回文。

我认为回文必须完全相同。 ?

 public static bool IsPalindrome(string text)
        {
            int min = 0;
            int max = text.Length - 1;

            while (true)
            {
                if (min > max)
                {
                    return true;
                }

                char a = text[min];
                char b = text[max];

                if (char.ToLower(a) != char.ToLower(b))
                {
                    return false;
                }

                min++;
                max--;
            }
        }

输入:“大声笑” 输出:“哈哈不是回文”

1 个答案:

答案 0 :(得分:0)

要使方法区分大小写,应删除对ToLower()的调用:

while (true)
{
    if (min > max)
    {
        return true;
    }

    char a = text[min];
    char b = text[max];

    if (a != b)
    {
        return false;
    }

    min++;
    max--;
}

“大声笑”不会被视为回文,而“大声笑”会被认为。