Palindrome Number

来源:互联网 发布:初中数学教学软件 编辑:程序博客网 时间:2024/06/05 05:35

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

实现代码:

public boolean isPalindrome02(int x) {String num= Integer.toString(x);if(num.length()>11 || num.charAt(0)=='-' ){//负数或者超范围return false;}int  i=0,j=num.length()-1;while(i<=j){if( !(num.charAt(i++)==num.charAt(j--)) ){return false;}}return true;}


有两种思路,一种是直接拿int值来进行判断,一种是转换成string类型字符逐一比较。我采用了第二种。在转换成string之后就可以判断首先是否是正整数(我觉得应该不需要判断是否int类型越界但是还是写了..)。之后逐一比较即可。


另一种思路,也就是第一种解法,在网上看到的在这里也放上:

public boolean isPalindrome(int x) {if (x < 0)return false;int d = 1; // divisorwhile (x / d >= 10)d *= 10;while (x > 0) {int q = x / d; // quotientint r = x % 10; // remainderif (q != r)return false;x = x % d / 10;d /= 100;}return true;}

代码非常简洁。思路就是用一个除数将数字不断的截取收尾,判断。

0 0
原创粉丝点击