9. Palindrome Number
题目描述和难度
- 题目描述:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121 输出: true
示例 2:
输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。
进阶:
你能不将整数转为字符串来解决这个问题吗?
- 题目难度:简单。
- 英文网址:9. Palindrome Number 。
- 中文网址:9. 回文数 。
思路分析
求解关键:每次模 10 得到个位数,除以 10 进入下一轮循环,这是从一个正整数从低位读到高位的一般操作。
参考解答
参考解答1
public class Solution {
public boolean isPalindrome(int x) {
// 如果 x < 0 直接就可以判断不是回文数
if (x < 0) {
return false;
}
return x == reverse(x);
}
private int reverse(int x) {
int reverse = 0;
while (x != 0) {
reverse = reverse * 10 + x % 10;
x /= 10;
}
return reverse;
}
}
本篇文章的地址为 https://liweiwei1419.github.io/leetcode-solution/leetcode-0009-palindrome-number ,如果我的题解有错误,或者您有更好的解法,欢迎您告诉我 liweiwei1419@gmail.com 。