题目描述
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例1:
输入: 121 输出: true
示例2:
输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例3:
输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。
思路
1.如果输入是负数,那直接返回false。
2.和整数反转的思路一致,将整数翻转后与原数据比较。
Java代码实现
public boolean isPalindrome(int x) { if(x < 0) return false; int sum = 0; int temp = x; while(x != 0){ int tail = x%10; x = x/10; sum = sum*10+tail; } return temp == sum; }
Golang代码实现
func isPalindrome(x int) bool { if(x < 0){ return false } tmp := x res := 0 for x != 0 { res = res*10 + x%10 x = x / 10 } return tmp == res }