LeetCode9 : 回文数

回文数

题目描述

判断一个整数是否是回文数。

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

例子

输入 输出 解释
121 true
-121 false 从左往右:-121, 从右往左:121-
10 false 从左往右:10, 从右往左:01

思路

① 负数一定不是回文数, 整数分开两种情况 : [ 0.9 ] , [ 10 , + ] [0. 9], [10, +\infty]

② 只有超过10的数字才需要进行反转

③ 编程实现

package palindromic_number;

/**
 * @author Jack
 * @date 2019-06-14-20:08
 * 回文数
 */
public class Solution {

    public static boolean isPalindrome(int x) {

        //待反转数字的最后一位
        int pop = 0;
        //反转后的数字
        int reverse = 0;
        int number = x;
        if (number >= 0 && number <= 9){
            return true;
        }else if(number < 0){
            return false;
        }else{
            //反转数字
            while (number != 0){
                //取最低位
                pop = number % 10;
                reverse = reverse * 10 + pop;
                number /= 10;
            }
            System.out.println(reverse);
            System.out.println(x);
            return (reverse == x);
        }
    }

    public static void main(String[] args) {
        System.out.println(isPalindrome(0));
    }
}

很奇怪的是, 似乎leetcode并不能识别 (reverse == x)这种简洁的表达方式, 因为第一次提交的时候报了一个编译错误, 出于强迫症, 我不想再看到错误, 所以非要逼我用下面这种格式, 快吐了…

if(reverse == x){
    return true;
}else{
    return false;
}

这道题不算难, 希望你们能和我一起进步!一起加油!我是程序萝, 非常乐意与你们一起交流!

感谢您能抽空阅读我的博客!希望能对您有所启发!

发布了50 篇原创文章 · 获赞 46 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_41949328/article/details/92019447