第一周:9. Palindrome Number

来源:互联网 发布:游戏辅助网站源码 编辑:程序博客网 时间:2024/05/21 11:02

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

解决方法是将前一半数字和后一半数字进行比较大小,举个例子:n=12321,定义一个整型变量x,则对n进行求模得到1,再将这个1加到x中,此时x=1,然后对n进行除法,得到n=1232,求模得到2,接着x*10+2,此时x=12,就这样不断n求模相除,x相加,直到x>n。该方法判断条件有两种情况,1.如果n的位数为偶数,那么如果n和x大小相等,则该数字是回文串,反之不是;2.如果n的位数为奇数,那么得到的x要进行除10,再跟n比较。当然一开始要判断n是否大于0或者n是否为个位数。

代码:

bool isPalindrome(int x){
        int total=0;if(x<0||(x!=0&&x%10==0))return false;while(total<x){total=(total*10)+(x%10);x=x/10;}if((total==x)||(x==total/10))return true;else return false;}

0 0
原创粉丝点击