leetcode 9 palindrome number

9. Palindrome Number


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


  • 用一个变量reverse来保存翻转的x部分
  • reverse只保存了一般
  • 终止条件为x的大小小于reverse
  • 例如:
    • 1234 终止条件:x = 12 y = 32
    • 3223 终止条件:x = 32 y = 32
    • 123 终止条件: x = 1 y = 32
    • 121 终止条件: x = 1 y = 12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class  {
public boolean isPalindrome(int x) {

if (x < 0){
return false;
}
// 输入特例判断,大于0但是是10的整数倍的数字不是回文
if(x > 0 && x%10 == 0){
return false;
}
int reverse=0;
while(x > reverse){
reverse = reverse*10 + x%10;
x = x/10;
}
return (x==reverse)||(x==reverse/10);
}
}