回文数就是与自身的倒序一样的数字。
可以将数据类型转换为字符串,进行判断。
但是如果要使用数学法,就得有以下两个基本算法意识。
·n % 10 相当于取个位数
·n // 10 相当于取个位数以外组成的数(在go语言里要注意变量的数据类型)
func ispalindrome(x int) bool {
//首先负数不可以是回文数
//其次如果这个数的个位如果是0,除了0以外都不是回文数
if x < 0 || (x % 10 == 0 && x != 0) {
return falase
}
//定义中间变量用于回文数比较
num := 0
for num < x {
num = num * 10 + x % 10
x /= 10
}
//x是奇数和偶数时的比较情况要分类讨论
return x == num || x == num / 10
}
力扣题库9. 回文数