LeetCode 9. 回文数 (Java)

  1. 回文数

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

示例 1:
输入: 121
输出: true

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/palindrome-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路:不将整数转换为字符串的方法,例如:判定121,先取一个gcd令他等于100,判断121/gcd与121%10是否相等,即可。

class Solution {
    public boolean isPalindrome(int x) {
        boolean result=true;
        if(x<0)//数值为负时一定不是回文数
        {
            result=false;
            return result;
        }
        int gcd=1;
        int num=x;
        while(num>=10)//取gcd
        {
            gcd*=10;//每次gcd×10
            num/=10;//每次原数除以10
        }
        while(x>0)//原数小于等于0时跳出循环
        {
            if(x/gcd != x%10)//判断最高位与最低为是否相等
            {
                result=false;
                return result;
            }
            x = x%gcd/10;//x对gcd取余即去掉最高位,再除以10即去掉最低位
            gcd/=100;//gcd每次除100,因为每个循环删除两位
            
        }
        return result;
    }
}
发布了36 篇原创文章 · 获赞 0 · 访问量 474

猜你喜欢

转载自blog.csdn.net/nuts_and_bolts/article/details/104691835