P009 Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space.
思路分析
- 负数==>false
- 从两头对数字逐渐切割,一旦有不同的==>false
代码
java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public class Solution009 { public boolean isPalindrome(int x) { if (x < 0) return false; else if (x <= 9) return true; int base = 1; while (x / base >= 10) base *= 10; while (x != 0) { int left = x / base; int right = x % 10; if (left != right) return false; x -= base * left; x /= 10; base /= 100; } return true; } }
|
python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| class Solution009(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """ if x < 0:return False elif x <= 9 :return True base = 1 while x / base >= 10: base *= 10 while x != 0: l = x / base r = x % 10 if l != r:return False x -= l * base x /= 10 base /= 100 return True
|