前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode-7. Reverse Integer | 整数反转

LeetCode-7. Reverse Integer | 整数反转

作者头像
Zoctopus
发布2021-02-05 14:38:17
3740
发布2021-02-05 14:38:17
举报
文章被收录于专栏:章鱼的慢慢技术路

题目

LeetCode LeetCode-cn

Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-231, 231 - 1], then return 0.

Assume the environment does not allow you to store 64-bit integers (signed or unsigned).

代码语言:javascript
复制
Example 1:

Input: x = 123
Output: 321
Example 2:

Input: x = -123
Output: -321
Example 3:

Input: x = 120
Output: 21
Example 4:

Input: x = 0
Output: 0
 

Constraints:
-231 <= x <= 231 - 1

题解

通过题目可以看出来,这道题是让我们翻转一个整数,比如123,个位是1十位是2百位是3,反转后个位是3十位是2百位是1。

照着官方题解的解法一:弹出和推入数字 & 溢出前进行检查写的Go版本

代码语言:javascript
复制
func reverse(x int) int {
    rev := 0
    INT_MIN:=-2147483648
    INT_MAX:=2147483647
    for x != 0 {
        pop := x % 10
        x /= 10
        if rev > INT_MAX / 10 || rev == INT_MAX / 10 && pop >7 {
            return 0
        }
        if rev < INT_MIN / 10 || rev == INT_MIN / 10 && pop < -8 {
            return 0
        }
        rev = rev * 10 + pop
    }

    return rev
}
代码语言:javascript
复制

leetcode-cn执行: 执行用时:0 ms, 在所有 Go 提交中击败了100.00%的用户 内存消耗:2.1 MB, 在所有 Go 提交中击败了95.50%的用户

leetcode执行: Runtime: 4 ms, faster than 41.60% of Go online submissions for Reverse Integer. Memory Usage: 2.3 MB, less than 14.22% of Go online submissions for Reverse Integer.

注意

  • 目前计划先把第一解法写出来,后期再添加优化的解法。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 题解
  • 注意
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档