转换为字符串进行比较
func isPalindrome(x int) bool {if x < 0 {return false}if x>= 0 && x < 10 {return true}str := strconv.Itoa(x)i := 0j := len(str) -1for; i < j; {if str[i] != str[j] {return false}i++j--}return true}
获取数字的一半进行比较。可以绕开数字大小限制
func isPalindrome(x int) bool { if x < 0 || (x % 10 == 0 && x != 0) { return false } if x >= 0 && x < 10 { return true } revertedNumber := 0 for ;x > revertedNumber; { revertedNumber = revertedNumber * 10 + x % 10 x /= 10 } // 如果数字长度为奇数,就需要除10再进行比较。 return x == revertedNumber || x == revertedNumber / 10 }
