网站首页 返回列表 像“草根”一样,紧贴着地面,低调的存在,冬去春来,枯荣无恙。 leetcode基础算法学习之ReverseInt 18-10-22 14:28:39 云丶先生 162 ### 习题四: 给定32位有符号整数,整数的反向数字。反向整数溢出时,函数返回0。 Input: `123` Output: `321` Input: `-123` Output: `-321` Input: `120` Output: `21` ### 解题思路: 第一直觉可以与反转字符串类似地完成反转整数。但这显然是不正确的做法,我们可以利用简单的数学算法,巧妙的反转过来,首先找到规律,反转前的个位数将会作为反转后的最高位,以此类推,这里需要注意的是题目给定的是32位有符号的整数,整数存在边界即最大值或最小值,加入反转之后得到的整数溢出边界,则要返回0。 ### 实现代码: ```go package main import ( "math" "fmt" ) func reverse(x int) int { rev := 0 for x != 0 { pop := x % 10 x /= 10 if rev > math.MaxInt32/10 || (rev == math.MaxInt32/10 && pop > 7) { return 0 } if rev < math.MinInt32/10 || (rev == math.MinInt32/10 && pop < -8) { return 0 } rev = rev * 10 + pop } return rev } func main() { fmt.Println(reverse(123)) fmt.Println(reverse(-123)) fmt.Println(reverse(120)) } ``` 输出: ```go 321 -321 21 ``` ### 知识点: 1. 整数边界的处理 2. 处理整数最常用的整除算法 关键字词[算法] 分享到: 上一篇:leetcode基础算法学习之LongestSubstr 下一篇:leetcode基础算法学习之maxArea 如需留言,请 登录,没有账号?请 注册 0 条评论 0 人参与 最新文章 虹口区财政局2026年代理记账资格行政许可决定公示 关于公开征集网络餐饮食品安全违法违规线索的公告 2026年虹口区劳动人事争议仲裁院辅助人员招聘公告 2026年4月虹口区应急管理综合行政执法对象和执法事项公示 虹口区财政局 2026 年代理记账资格行政许可决定公示 上海市虹口区人民政府关于上海港国际客运中心口岸限定区域范围及管理要求的通告 虹口区98街坊HK381-05地块新建学校项目方案公示公告 虹口区广中社区N080601单元控制性详细规划077街坊局部调整公众参与草案补充公示 点击排行 站点又重新回来了,必须纪念一下本次事故 Beego框架第1节——环境与初始 Golang学习笔记之interface Golang学习笔记之匿名函数与闭包 leetcode基础算法学习之addTwoNumbers 最新评论 efg 7年前 不好意思,胡乱写了一条评论 efg 7年前 aaaa kakafu 7年前 good 云丶先生 官方 7年前 你好,可以,麻烦你的站点做好友链 云丶先生 官方 7年前 欢迎各界人士留言,请不要胡乱填写,尊重他人就是尊重... 友情链接 四方支付系统,聚合支付系统,三方支付系统,支付系统源码 支付系统开发,四方支付系统,支付系统源码
0 条评论 0 人参与