【LeetCode】(简单)9. 回文数

在这里插入图片描述

思路1:

将问题转为判断回文字符串

代码1:

class Solution {
    public boolean isPalindrome(int x) {
        if(x <0) return false;
        if(x ==0) return true;
        
        //int转为String
        String str = Integer.toString(x);
        //String转为char[]
        char[] c = str.toCharArray();
        for(int i =0; i<c.length/2; i++){
            if(c[i] != c[c.length-1-i])
               return false;
        }
        return true;
    }
}

思路2:

继续作为int类型的问题来解决,利用%和/符号来获取位数并比较。

代码2:

class Solution {
    public boolean isPalindrome(int x) {
        //边界判断
        if (x < 0) return false;
        int div = 1;
        //得到x的位数
        while (x / div >= 10) div *= 10;
        while (x > 0) {
            int left = x / div;
            int right = x % 10;
            if (left != right) return false;
            //去除首位和末尾
            x = (x % div) / 10;
            //位数-2
            div /= 100;
        }
        return true;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值