📌  相关文章
📜  检查字符串是否为回文 - C# (1)

📅  最后修改于: 2023-12-03 14:55:45.685000             🧑  作者: Mango

检查字符串是否为回文 - C#

什么是回文?

回文是一个正读和反读都相同的字符串,比如“level”、“radar”。

如何检查字符串是否为回文?

可以使用两个指针分别从字符串的头部和尾部向中间遍历,并比较两个指针指向的字符是否相同,如果不相同则说明不是回文字符串。

下面是示例代码:

public static bool IsPalindrome(string str)
{
    int left = 0;
    int right = str.Length - 1;

    while (left < right)
    {
        if (str[left] != str[right])
        {
            return false;
        }

        left++;
        right--;
    }

    return true;
}

可以在外面调用该方法来判断字符串是否为回文:

string str = "level";
bool isPalindrome = IsPalindrome(str); // true
性能优化

为了优化性能,可以使用char数组来替代字符串的遍历,因为char数组的访问速度比字符串的快:

public static bool IsPalindrome(string str)
{
    char[] chars = str.ToCharArray();
    int left = 0;
    int right = chars.Length - 1;

    while (left < right)
    {
        if (chars[left] != chars[right])
        {
            return false;
        }

        left++;
        right--;
    }

    return true;
}
总结

检查字符串是否为回文可以使用遍历字符串的方式,比较两个指针指向的字符是否相同。为了优化性能,可以使用char数组来替代字符串的遍历。