# 回文数 --- ```javascript= 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 进阶: 你能不将整数转为字符串来解决这个问题吗? ``` :::success ```go= // 使用的go的int to string, 在反转字符串 func isPalindrome(x int) bool { old := strconv.Itoa(x) new := reverseString([]byte(old)) return old == new } func reverseString(s []byte) string { for i, j := 0, len(s) - 1; i < j; i, j = i + 1, j - 1 { s[i], s[j] = s[j], s[i] } return string(s) } // 采用 % 10 取余 和 / 10 取商的方法 func isPalindrome(x int) bool { if x < 0 { return false } return x == reverseInt(x, 0) } func reverseInt(i, result int) int { for i != 0 { mod := i % 10 result = result * 10 + mod i /= 10 } return result } ``` ::: ###### tags: `LeeCode`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up