9. 回文数

image.png
主要就是数字反转

  1. package main
  2. import "fmt"
  3. func main() {
  4. fmt.Println(isPalindrome(123))
  5. }
  6. // 主要难点在如何反转数字? rev * 10 +tmp % 10
  7. func isPalindrome(x int) bool {
  8. if x < 0 || (x != 0 && x % 10 == 0) {
  9. return false
  10. }
  11. tmp := x
  12. rev := 0 // 当前数字的反转数
  13. for tmp > 0 {
  14. rev = rev * 10 +tmp % 10 // 反转数公式
  15. tmp /= 10
  16. }
  17. return x==rev
  18. }

image.png