java-判断一个整数是否回文,考虑溢出
编程技术  /  houtizong 发布于 3年前   74
public class PalindromeInt {/** * PalindromeInt,like 1,121,12321.... * you should consider the possibility that the reversed number might overflow * eg. 1...................9,after reversing,9 comes to first,and...you know that. * */public static void main(String[] args) {int[] a={12321,17770};PalindromeInt pi=new PalindromeInt();boolean re=pi.isPalindromeInt2(a[0]);System.out.println(re);re=pi.isPalindromeInt2(a[1]);System.out.println(re);}//generic solution public boolean isPalindromeInt(int x){if(x<0)return false;int x2=x;int y=0;while(x>0){y*=10;y+=x%10;x/=10;}return x2==y;}//better solution//avoid overflowpublic boolean isPalindromeInt2(int x){if(x<0)return false;boolean re=true;int div=1;while(x/div>=10){div*=10;}while(x>0){int h=x/div;//headint t=x%10;//tailif(h!=t){re=false;break;}x=(x%div)/10;//now x is 232 instead of 12321div/=100;//accordingly,div should be 100 instead of 10000}return re;}/* c/c++? I don't know how it works * invoke like that: isPalindrome(x, x)boolean isPalindrome(int x,int &y){if (x < 0) return false; if (x == 0) return true; if (isPalindrome(x/10, y) && (x%10 == y%10)) { y /= 10; return true; } else { return false; }}*/}
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接