📜  回文数 c# (1)

📅  最后修改于: 2023-12-03 15:37:13.346000             🧑  作者: Mango

回文数 C# 介绍

回文数是指从前往后和从后往前读都是一样的数字,如121,111,1221等。在C#中,判断一个数字是否为回文数有多种方法。以下是其中的一些方法。

方法一:将数字转换为字符串

将数字转换为字符串后,判断字符串前半部分是否和后半部分反转后的字符串相等即可。

public static bool IsPalindrome(int num)
{
    string numStr = num.ToString();
    int len = numStr.Length;
    for (int i = 0; i < len / 2; i++)
    {
        if (numStr[i] != numStr[len - 1 - i])
        {
            return false;
        }
    }
    return true;
}
方法二:取数字的每一位

取数字的每一位,放入一个数组中,再判断该数组前半部分是否和后半部分反转后的数组相等。

public static bool IsPalindrome(int num)
{
    if (num < 0)
    {
        return false;
    }
    List<int> digits = new List<int>();
    while (num > 0)
    {
        digits.Add(num % 10);
        num /= 10;
    }
    int len = digits.Count;
    for (int i = 0; i < len / 2; i++)
    {
        if (digits[i] != digits[len - 1 - i])
        {
            return false;
        }
    }
    return true;
}
方法三:反转数字

将数字反转后再和原数字比较是否相等即可。

public static bool IsPalindrome(int num)
{
    if (num < 0)
    {
        return false;
    }
    int reverse = 0;
    int original = num;
    while (num > 0)
    {
        reverse = reverse * 10 + num % 10;
        num /= 10;
    }

    return original == reverse;
}

以上三种方法均可以判断一个数字是否为回文数。在实际应用中,可以根据具体情况选择不同的方法。