判斷一個整數是否是回文數。回文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數如筛。
示例 1:
輸入: 121
輸出: true
示例 2:
輸入: -121
輸出: false
解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個回文數拉庶。
示例 3:
輸入: 10
輸出: false
解釋: 從右向左讀, 為 01 。因此它不是一個回文數秃励。
進階:
你能不將整數轉為字符串來解決這個問題嗎氏仗?
func isPalindrome(x int) bool {
if x < 0 {
return false
}
if x < 10 {
return true
}
y := x
nums := []int{}
for {
if y/10 == 0 {
nums = append(nums, y)
break
}
nums = append(nums, y%10)
y = y / 10
}
nnum := 0
s := len(nums)
for index, n := range nums {
a := 1
for i := 1; i < s-index; i++ {
a = a * 10
}
nnum = nnum + n*(a)
}
return nnum == x
}