题目
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
解法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| func isPalindrome(x int) bool { if x < 0 { return false }
if x < 10 { return true }
bytes := make([]byte, 0)
for i := 1;;i++ { if x < 10 { bytes = append(bytes, byte(x)) break } y := x %10 bytes = append(bytes, byte(y)) x = x / 10 }
length := len(bytes) i := 0 for ; i < length; i++ { if bytes[i] == bytes[length -1 - i] { continue } else { break } }
if i == length { return true }
return false }
|