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

LeetCode 9 Palindrome Number(回文数字判断)

时间:2017-03-03 22:46:11      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:false   number   lin   XML   blog   font   ref   pre   回文数字   

Long Time No See !
 
 
首先确定该数字的位数。按照已知数字x对10进行多次求余运算,可以得到数字位数。
具体思路:
1、每次取出该数字的最高位和最低位进行比较。
2、如果不相等则直接返回FALSE,
3、如果相等修改x的值(去掉最高位也同时去掉最低位)其中去掉最高位可以通过求模运算,去掉最低位可以采用除以10
4、进行循环直到x的值不大于0为止
 
参考代码:
package leetcode;

/***
 * 
 * @author pengfei_zheng
 * 判断回文数字
 */
public class Solution09 {
    public boolean isPalindrome(int x) {
        if(x < 0) //小于0返回false
            return false;
        int len = 1;
        while(x/len >= 10)
            len *=10;//求出x的位数对应的pow(10,n)
        while(x>0){
            int left = x / len;//取x的最高位
            int right = x % 10;//取x的最低位
            
            if(left != right)//有不等则返回false
                return false;
            else {
                x = (x % len) / 10;//修改x的值 求模运算去掉最高位 除法运算去掉最低位
                len /= 100;//修改x的位数对应的pow(10,n)
            }
        }
        return true;
    }
};

 

LeetCode 9 Palindrome Number(回文数字判断)

标签:false   number   lin   XML   blog   font   ref   pre   回文数字   

原文地址:http://www.cnblogs.com/zpfbuaa/p/6498525.html

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