题目:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
代码:
1 class Solution { 2 public boolean isPalindrome(int x) { 3 if(x < 0) 4 return false; 5 int result = 0; 6 int num = x; 7 while(x != 0){ 8 int pop = x % 10; 9 x /= 10; 10 result = pop + result * 10; 11 } 12 return result == num; 13 } 14 }
心得:
1、回文数做法跟整数反转一样。
2、没想懂一处地方,我不添加负数判断,当出现负数是,return 的是 true,但是实际结果应该是 false, elipse 上运行也是 false,但是leetcode运行结果是 true。
负数判断是无奈之举。