美文网首页
leetcode:整数反转

leetcode:整数反转

作者: 简书帅气的昵称已被使用 | 来源:发表于2019-06-04 23:52 被阅读0次

题目

作者:gpe3DBjDS1
链接:https://leetcode-cn.com/problems/reverse-integer/
来源:力扣(LeetCode)

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:
输入: 123
输出: 321

示例 2:
输入: -123
输出: -321

示例 3:
输入: 120
输出: 21

注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0

解法

  • 方法1
func reverse(x int) int {
    tmp := make([]int, 0)
    var result, a int
    var flag bool

    if x < 0 {
        x = int(math.Abs(float64(x)))
        flag = true
    }

    for x > 0 {
        a = x / 10
        value := x % 10

        if value > 0 {
            tmp = append(tmp, value)
        } else {
            if len(tmp) != 0 {
                tmp = append(tmp, value)
            }
        }

        x = a
    }

    length := len(tmp)

    for index, value := range tmp {
        powValue := math.Pow10(length - index - 1)
        i := int(powValue)

        result = result + value*int(i)
    }

    max := int(math.Pow(2, 31))

    if result > max {
        result = 0
    }

    if flag {
        result = result * (-1)
    }

    return result
}

效率低,实现复杂

  • 方法2
func reverse1(x int) int {
    y := 0
    for x != 0 {
        y = y * 10 + x % 10
        if !(-(1 << 31) <= y && y <= (1 << 31)-1) {
            return 0
        }

        x = x / 10
    }

    return y
}

效率高,代码简洁

相关文章

  • Leetcode-7-(整数反转)

    Leetcode-7-(整数反转)[https://leetcode-cn.com/problems/revers...

  • leetcode 整数反转

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123输出: 321...

  • LeetCode:整数反转

    LeetCode第7号问题:整数反转 题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行...

  • 【leetCode】整数反转

    题目 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123输出: ...

  • leetcode:整数反转

    题目 作者:gpe3DBjDS1链接:https://leetcode-cn.com/problems/rever...

  • leetcode 整数反转

    给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整...

  • LeetCode 每日一题 [7] 整数反转

    LeetCode 整数反转 [简单] 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 来...

  • 第五周ARTS

    Algorithmic LeetCode整数反转需要考虑多种情况,负数反转、数据溢出等等 https://leet...

  • 一起学算法-7.整数反转

    一、题目 LeetCode-7.整数反转链接:https://leetcode-cn.com/problems/r...

  • LeetCode 7、整数反转

    整数反转 LeetCode题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例...

网友评论

      本文标题:leetcode:整数反转

      本文链接:https://www.haomeiwen.com/subject/rspdxctx.html