码迷,mamicode.com
首页 > 其他好文 > 详细

9. Palindrome Number

时间:2016-04-13 12:46:04      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:

          /*
       * 9. Palindrome Number 
       * 2016-4-12 by Mingyang
       * 这个题目首先有个前提,负数不是palindrome,另外no extra space
       * 所以不能用变成string来做,那么转换为reverse int的时候需要考虑
       * 出界问题,只要一出界,肯定不为
       */
        public static boolean isPalindrome(int x) {
            if (x < 0)
                return false;
            if (x == 0)
                return true;
            long rev = 0;
            int y = x;
            while (x > 0) {
                int dig = x % 10;
                rev = rev * 10 + dig;
                if (rev > Integer.MAX_VALUE)
                    return false;
                x = x/10;
            }
            int res = (int) rev;
            if (res == y)
                return true;
            else
                return false;
        }
        /*
         * 那么下面是网上的代码,也就是说我们不需要走完,只需要把reverse的小
         * 本身才进行,另外就是出来的时候x==rev || x==rev/10才可以
         */
        public boolean isPalindrome1(int x) {
            if (x<0 || (x!=0 && x%10==0)) return false;
            int rev = 0;
            while (x>rev){
                rev = rev*10 + x%10;
                x = x/10;
            }
            return (x==rev || x==rev/10);
        }

 

9. Palindrome Number

标签:

原文地址:http://www.cnblogs.com/zmyvszk/p/5386547.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!