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

9. Palindrome Number

时间:2018-12-08 11:09:16      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:ever   imp   sharp   last   sel   Matter   false   git   ==   

 

  public bool IsPalindrome(int x) {
        // Special cases:
        // As discussed above, when x < 0, x is not a palindrome.
        // Also if the last digit of the number is 0, in order to be a palindrome,
        // the first digit of the number also needs to be 0.
        // Only 0 satisfy this property.
        if(x < 0 || (x % 10 == 0 && x != 0)) {
            return false;
        }

        int revertedNumber = 0;
        while(x > revertedNumber) {
            revertedNumber = revertedNumber * 10 + x % 10;
            x /= 10;
        }

        // When the length is an odd number, we can get rid of the middle digit by revertedNumber/10
        // For example when the input is 12321, at the end of the while loop we get x = 12, revertedNumber = 123,
        // since the middle digit doesn‘t matter in palidrome(it will always equal to itself), we can simply get rid of it.
        return x == revertedNumber || x == revertedNumber/10;
    }

  

9. Palindrome Number

标签:ever   imp   sharp   last   sel   Matter   false   git   ==   

原文地址:https://www.cnblogs.com/apanda009/p/10086414.html

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