Palindrome Number,LeetCode

来源:互联网 发布:csol游戏数据异常 编辑:程序博客网 时间:2024/06/06 16:32

判断一个int数是否为回文。

先上代码

public boolean isPalindrome(int x) {if(x < 0) {return false;}int l = (x + "").length();boolean r = true;int high,low;while(l >= 2) {low = x % 10;high = (int) (x / (Math.pow(10, l - 1)));if(low != high) {r = false;break;}x = (int) ((x - high * Math.pow(10, l - 1) - low)/10);l -= 2;}return r;}

方法很简单,取最高位和最低位,如果不相等,直接判死刑。

个人很喜欢下面这行,可能性能不算很好。敲代码时突然冒出了这个点子,循环结束后,直接把首尾两个数减掉。

x = (int) ((x - high * Math.pow(10, l - 1) - low)/10);

另外一点,负数一律不算回文,枉我之前多写了好几行代码。


0 0
原创粉丝点击