作预检测就好了呀 我们的返回结果肯定是这样子的变化,比如返回结果定义ans,目标整数是x 每次的变化是 bit = x%10 // 拿到低位 x/=10 ans = ans*10+bit // 加入ans的高位 // 溢出检测就可以在ans=ans*10+bit之前做 本质上是 ans*10+bit > maxInt32 => ans > (maxInt32-bit)/10 代码可以这样写: func reverse(x int) int { neg := false // 只检查正溢出 if x < 0 { neg = true x = -x } ans := 0 for x > 0 { bit := x % 10 x /= 10 // 检查溢出 if ans > (math.MaxInt32-bit)/10 { // 溢出 return 0 } ans = ans*10 + bit } if neg { return -ans } return ans }
点赞 3

相关推荐

07-18 14:03
门头沟学院 Java
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务