LeetCode-7-整数反

monigo · · 126 次点击 · · 开始浏览    

题目描述

整数反转

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

示例 1:

输入: 123
输出: 321

示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

思路

中规中矩,逐个取出每一位数,存到一个数组中,最后拼接成新的数,因为在平台上int默认为64位整型,所有比较判断溢出即可

Code

  • Golang
func reverse(x int) (res int) {
    min := math.MinInt32
    max := math.MaxInt32
    bts := []int{}
    res = x
    if x < 0 {
        res = -res
    }
    for i:=1;res > 0;i++ {
        ys := res % 10
        bts = append(bts, ys)
        res /= 10
    }
    for i, l := 0, len(bts); i < l; i++ {
        res += bts[i]
        res *= 10
    }
    res /= 10
    if x < 0 && -res > min {
        return -res
    }
    if x > 0 && res < max {
        return res
    }
    return 0
}

本文来自:简书

感谢作者:monigo

查看原文:LeetCode-7-整数反

入群交流(和以上内容无关):Go中文网 QQ 交流群:798786647 或加微信入微信群:274768166 备注:入群;关注公众号:Go语言中文网

126 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传