(java)leetcode-9

Palindrome Number

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

Some hints:

Could negative integers be palindromes? (ie, -1)

If you are thinking of converting the integer to string, note the restriction of using extra space.

You could also try reversing an integer. However, if you have solved the problem "Reverse Integer", you know that the reversed integer might overflow. How would you handle such case?

There is a more generic way of solving this problem.


解题思路:

大概就是利用不断地相除取余得到原来的数的逆转结果然后比较看对不对就可以了。

注意:

负数不是回文数。

当一个数是10的倍数时,这个数一定不是回文数。(这个是从别人那看到的,一开始没想到这个,加上之后发现快了不少)


public class Solution {
    public boolean isPalindrome(int x) {
        if(x<0 || (x != 0 && x%10 == 0))
			return false;
		int result = 0,num = x;
		while(num != 0)
		{
			int a = num%10;
			result = result*10 +a;
			num = num/10;
		}
		//System.out.println(result);
		if(result == x)
			return true;
		else
			return false;
    }
}




你可能感兴趣的:(leetcode)