每周算法题

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

// 回文数转换为String类型判断
public boolean isPalindrome(int x) {
        if (x < 0) {
            return false;
        }
        String s = String.valueOf(x);
        char []ss = s.toCharArray();
        int start = 0;
        int end = ss.length-1;
        while (start < end) {
            if (ss[start] ==ss[end]){
                start++;
                end--;
            } else {
                return false;
            }
        }
        return true;

进阶:
你能不将整数转为字符串来解决这个问题吗?

    // 回文数,数字方法判断
    public boolean isPalind(int x){
        if (x < 0) {
            return false;
        }
        int a = 0;
        int b = x;
        int s = 0;
        while (b != 0){
            a = b%10;  // 给定值对10取余
            b = b/10; // 给定值对10取整
            if (s == 0) {
                s = a;
            } else {
                s = s*10 + a;
            }
        }
        if (s == x) {
            return true;
        } else {
            return false;
        }
    }

转载于:https://www.jianshu.com/p/7929e9a5be96

猜你喜欢

转载自blog.csdn.net/weixin_34221775/article/details/91333311
今日推荐