[Golang]力扣Leetcode - 9.回文数(数学)
[Golang]力扣Leetcode - 9.回文数(数学)
题目:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
- 例如,121 是回文,而 123 不是。
链接: 力扣Leetcode - 9.回文数.
示例 1:
输入:x = 121
输出:true
示例 2:
输入:x = -121
输出:false
解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入:x = 10
输出:false
解释:从右向左读, 为 01 。因此它不是一个回文数。
思路:这里用比较简单的办法,在数学上如果为回文数,颠倒后的数一定和原来相等
- 如果是负数则一定不是回文数,直接返回 false
- 如果是正数,则将其倒序数值计算出来,然后比较和原数值是否相等
- 如果是回文数则相等返回 true,如果不是则不相等 false
Go代码:
package main import ( "fmt" ) func isPalindrome(x int) bool { var sum int first := x if x < 0 { return false } else { for x != 0 { a := x % 10 x = x / 10 sum = sum*10 + a } } return sum == first } func main() { fmt.Println(isPalindrome(121)) }
提交截图:
本文作者:Dancing-Pierre
本文链接:https://www.cnblogs.com/wyc-1009/p/17548090.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步