问题
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
来源:力扣(LeetCode)
解答
C语言
利用7.整数翻转的算法,将给定的int反转后的值与给定值进行比较,相同则为回文数。
//20 ms5.3 MB
bool isPalindrome(int x){
if (x < 0 ) {
return false;
}
long back = 0;
int temp = x;
while (temp != 0) {
back = temp % 10 + back * 10;
temp = temp / 10;
}
if(back == x) {
return true;
} else {
return false;
}
}
golang
同理
// 16 ms5.2 MB
func isPalindrome(x int) bool {
if x < 0 {
return false
}
changeNum := 0
temp := x
for temp != 0 {
changeNum = changeNum * 10 + temp % 10
temp = temp / 10
}
return changeNum == x
}