9. 回文数

2024-01-01 15:26:53

给你一个整数?x?,如果?x?是一个回文整数,返回?true?;否则,返回?false?。

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

  • 例如,121?是回文,而?123?不是。

示例 1:

输入:x = 121
输出:true

示例?2:

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

示例 3:

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

提示:

  • -231?<= x <= 231?- 1

方法1:

    public boolean isPalindrome(int x) {
        int left = 0;
        String y = x + "";
        int right = y.length() - 1;
        while (true){
            if (left >= right){
                break;
            }
            if (y.charAt(left) == y.charAt(right)){
                left++;
                right--;
                continue;
            }else {
                return false;
            }
        }
        return true;
    }

方法2:

    public boolean isPalindrome(int x) {
        if (x < 0 || (x != 0 && x % 10 == 0)) {
            return false;
        }

        int reversed = 0;
        int original = x;

        while (x > reversed) {
            reversed = reversed * 10 + x % 10;
            x /= 10;
        }

        return (x == reversed) || (x == reversed / 10);
    }

文章来源:https://blog.csdn.net/linping_wong/article/details/135324723
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。