9、回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。

解1

直接break掉负数和个位数,然后对剩余数反转之后比较数值。

public static boolean isPalindrome(int x) {
        if(x<0)
            return false;
        if(x<10)
            return true;
        int res = 0,t=x;      
        while(x!=0) {
            res = res*10 + x%10;
            x = x/10;
        }
        if(res==t)
            return true;
        else 
            return false;
    }

解2

将数字转化为字符串,在从两头进行夹逼法。需要考虑字符串操作慢于数值操作。

public static boolean isPalindrome(int x) {
       if(x<0)
           return false;
       if(x<10)
           return true;
       String str = x+"";
       int i = 0, j = str.length()-1;
       while(i<j) {
           if(str.charAt(i++)!=str.charAt(j--))
               return false;
       }
       return true;
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题目描述 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输...
    zhipingChen阅读 3,276评论 1 2
  • 题目描述 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例: 输入: ...
    不要甜的红烧肉阅读 2,895评论 0 0
  • 题目描述:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1:输入...
    LeeYunFeng阅读 3,818评论 0 48
  • 题目 第9题:回文数 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示...
    DonLex阅读 3,923评论 0 1
  • 2019.06.06 今晚特别伤感。 明天就高考了 想给复读的同学加油,想不到配图也想不到文案,去翻了翻以前的照片...
    一只爱写作的猫阅读 1,747评论 0 1

友情链接更多精彩内容