LeetCode9 : 回文数

红太狼 2021-06-24 16:12 526阅读 0赞

回文数

题目描述

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

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

例子


























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

思路

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

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

③ 编程实现

  1. package palindromic_number;
  2. /**
  3. * @author Jack
  4. * @date 2019-06-14-20:08
  5. * 回文数
  6. */
  7. public class Solution {
  8. public static boolean isPalindrome(int x) {
  9. //待反转数字的最后一位
  10. int pop = 0;
  11. //反转后的数字
  12. int reverse = 0;
  13. int number = x;
  14. if (number >= 0 && number <= 9){
  15. return true;
  16. }else if(number < 0){
  17. return false;
  18. }else{
  19. //反转数字
  20. while (number != 0){
  21. //取最低位
  22. pop = number % 10;
  23. reverse = reverse * 10 + pop;
  24. number /= 10;
  25. }
  26. System.out.println(reverse);
  27. System.out.println(x);
  28. return (reverse == x);
  29. }
  30. }
  31. public static void main(String[] args) {
  32. System.out.println(isPalindrome(0));
  33. }
  34. }

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

  1. if(reverse == x){
  2. return true;
  3. }else{
  4. return false;
  5. }

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

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

发表评论

表情:
评论列表 (有 0 条评论,526人围观)

还没有评论,来说两句吧...

相关阅读

    相关 LeetCode 9

    判断一个整数是否是回文数,不能使用辅助空间。 说明:回文数是正着读反着读都一样的数字。 思路1:分离出原数的每一位数字,保存在新的数组中,判断数组是否对称。But,不

    相关 [leetcode]9.

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 我最开始的解法,把数字转换成字符串,然后比较头尾,时间空间复杂度还过得去。当然反转方

    相关 LeetCode 9

    题目描述: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例

    相关 LeetCode9 :

    回文数 题目描述 判断一个整数是否是回文数。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例子 <table> <thead>