9. Palindrome Number

    

一、题目

  1、审题:

    

  2、分析:

    判断数字是否回文

  

二、解答

  1、分析:

    方法一: 将数字反转,看是否和反转前相等

    

class Solution {
    public boolean isPalindrome(int x) {

        if(x < 0)
            return false;

        int temp = x,  revertX = 0;
        
        while(temp > 0) {
            revertX = revertX * 10 +  temp % 10;
            temp /= 10;
        }
        
        if(revertX == x)
            return true;
        
        return false;
    }
}

 

  方法二:仅反转 x 的一半,在判断是否回味

  

public class Solution {
    public boolean isPalindrome(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);
    }
}

 

  方法三:利用 StringBuffer 的 reverse方法 直接进行判断;

  

public class Solution {
    public boolean isPalindrome(int x) {
        return new StringBuffer(x + "").toString().
equals(
    new StringBuffer(x + "").reverse().toString()
 );
    }
}   

 

posted @ 2018-08-01 09:29  skillking2  阅读(152)  评论(0编辑  收藏  举报