9.Palindrome Number

Determine whether an integer is a palindrome. Do this without extra space.

确定一个整数是否回文数,不能占用额外空间。

(回文数形如121,12321,1221,5等)

大神代码cbmbbz

 

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 = x/10;
    }
    return (x==rev || x==rev/10);
}

我的代码
复杂一些,依次比较第一位和最后一位,若相同则移除

class Solution {
public boolean isPalindrome(int x) {
int start=0;
int end=0;
int length=String.valueOf(x).length()-1;

if (x<0)
return false;

while(length>0) {
start=(int) (x/(Math.pow(10, length)));
end=x%10;
if(start!=end)
return false;
x=(int) (x%(Math.pow(10, length)));
length--;
x=(int) (x/10);
length--;
}
return true;
}
}

 
posted @ 2018-02-26 00:08  同销万古愁  阅读(102)  评论(0编辑  收藏  举报