美文网首页
9. 回文数

9. 回文数

作者: 叫我颜先生 | 来源:发表于2020-05-06 23:12 被阅读0次

    描述:

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

    示例:

    输入: 121
    输出: true
    
    输入: -121
    输出: false
    解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
    
    输入: 10
    输出: false
    解释: 从右向左读, 为 01 。因此它不是一个回文数。
    

    想法:

    1. 第一想法是转为字符串,首尾比较就好
    2. 官方:将整数拆成两半,比较是否相等
    static public bool IsPalindrome(int x)
    {
        if (x < 0) return false;
    
        string s = x.ToString();
    
        for (int i = 0; i < (float)s.Length/2; i++)
        {
            if (s[i] != s[s.Length - 1 - i])
                return false;
        }
    
        return true;
    }
    
    static public bool IsPalindrome(int x)
    {
        if (x < 0) return false;
        if (x < 10) return true;
        if (x % 10 == 0) return false;
        int y = 0;
        while (x > y)
        {
            int t = x % 10;
            x /= 10;
            y = y * 10 + t;
        }
    
        return (x == y) || (x == y / 10);
    }
    

    相关文章

      网友评论

          本文标题:9. 回文数

          本文链接:https://www.haomeiwen.com/subject/vfknghtx.html