关注
作预检测就好了呀
我们的返回结果肯定是这样子的变化,比如返回结果定义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
相关推荐
牛客热帖
更多
正在热议
更多
# 你的实习产出是真实的还是包装的? #
34886次浏览 433人参与
# 牛友的志愿填报指南 #
62970次浏览 484人参与
# 厦门银行科技岗值不值得投 #
15643次浏览 359人参与
# 你的实习什么时候入职 #
366633次浏览 2355人参与
# 学历VS实习,哪个更重要? #
1606次浏览 48人参与
# 工作上你捅过哪些篓子? #
68290次浏览 315人参与
# uu们,春招你还来吗? #
62909次浏览 737人参与
# 面试紧张时你会有什么表现? #
33944次浏览 206人参与
# 面试中,你被问过哪些奇葩问题? #
96095次浏览 1262人参与
# 面试被问到不会的问题,你怎么应对? #
25630次浏览 647人参与
# 你都用vibe coding做过什么? #
21586次浏览 812人参与
# 机械人,签完三方你在忙什么? #
83901次浏览 266人参与
# 你觉得大几开始实习最合适? #
29810次浏览 309人参与
# AI Coding实战技巧 #
15255次浏览 299人参与
# 你见过哪些招聘隐形歧视? #
24542次浏览 214人参与
# 国庆前的秋招小结 #
291198次浏览 1742人参与
# 哔哩哔哩笔试 #
35085次浏览 142人参与
# 如果人生可以debug你会改哪一行? #
12824次浏览 167人参与
# 秋招特别不鸣谢 #
93203次浏览 685人参与
# 应届生被毁约被毁意向了怎么办 #
65323次浏览 313人参与
# 海康威视求职进展 #
132268次浏览 551人参与