今天是第 19 天,要來寫的題目是 Palindrome Number
那麼話不多說,我們就開始吧 ─=≡Σ(((っ›´ω`‹ )っ!
# Example1
Input: x = 121
Output: true
# Example2
Input: x = -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
# Example3
Input: x = 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
Palindromic number 又稱做迴文數,先大概來摘要一下這題的重點:
-100
相反後並沒有 100-
的值一開始不知道該怎麼下手,就先從最簡單的第二項不能是負數的下手吧!
func isPalindrome(x int) bool {
if x < 0 {
return false
}
return true
}
接下來就要思考,怎麼樣得到相反的值勒~
應該可以使用跑迴圈的方式,透過每次取餘數的方式得到最後一個值再加總起來,這樣就能夠得到相反的數值了!
func isPalindrome(x int) bool {
if x < 0 {
return false
}
tmp := x
num := 0
for tmp > 0 {
remainder := tmp % 10
num = (num * 10) + remainder
tmp /= 10
}
res := x == num
return res
}
成功啦!
看起來 runtime 是有點點久還有待加強,但先有再求好XD
有任何問題歡迎與我告知 :)
本篇文章同步發佈於 我的部落格