题目(难度:简单):
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
解法思想:
不采用传统思想,即把 int数转换为字符串,再通过折半对比或倒序判断是否是回文数。通过除法和取余,将数字直接倒序,再与原数进行对比,返回结果。
代码实现:
public boolean isPalindrome(int x) {
if (x < 0) {
return false;
}
int num = x;
int next = 0;
while (num != 0) {
next = next * 10 + num % 10;
num = num / 10;
}
return next == x;
}
测试用例:
算法分析:
时间复杂度O(n),额外空间复杂度O(1)