bool Ispalindrome(long long x) { if(x<0||(x>0&&x%10==0))return false; long long back=0;//初始化很重要 while(x>back) { back=back*10+x%10; x=x/10; } return (x==back)||(x==back/10); }
首先:对于大于零的回文数 的最后一个数字一定不是0,其次回文数一定大于等于零
其次:通过数的大小进行判断回文
对于 x= 12345654321
将后边的回文进行反转得到一个数,与前边的回文得到的数进行大小比较即可
则 x=12345 back=123456
对于回文数的长度是偶数的判断x和back 即可
对于回文数的长度是奇数的需要判断x和back%10;