LeetCode09 —— 判断一个整数是否是回文数

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

  • 示例 1:

    输入: 121
    输出: true

  • 示例 2:

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

  • 示例 3:

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

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

//没有转字符串,直接将整数进行反转
class Solution {
    public boolean isPalindrome(int x) {
        //首先整数反转
        int num = x;
        int pop = 0;
        int rev = 0;
        while(num != 0){
            pop = num % 10;
            rev = rev * 10 + pop;
            num /= 10;
        }
        //System.out.println(rev);
        
        //判断是否相等
         if(x >= 0 && rev == x){
            return true;
        }
        return false;
    }
}

执行用时 : 44 ms, 在Palindrome Number的Java提交中击败了99.00% 的用户
内存消耗 : 35 MB, 在Palindrome Number的Java提交中击败了98.38% 的用户

点赞