zoukankan      html  css  js  c++  java
  • leetcode练习之No.7------ 翻转整数reverse_integer

    原文地址:http://www.niu12.com/article/48

    git地址:git@github.com:ZQCard/leetcode.git

    给定一个 32 位有符号整数,将整数中的数字进行反转。

    示例 1:

    输入: 123
    输出: 321
    

     示例 2:

    输入: -123
    输出: -321
    

    示例 3:

    输入: 120
    输出: 21
    package reverse_integer

    import (
    "math"
    )

    func ReverseInteger(x int) int {
    // 先确定正负数
    var flag = true
    if x < 0{
    flag = false
    x = -x
    }

    // 将数字作为单个元素存储入组 倒序
    var baseNum []int

    var modNum = 10

    for{
    mod := x % modNum
    baseNum = append(baseNum, mod)
    x = (x - mod) / modNum
    if x < 1{
    break
    }
    }

    var res = 0
    // 将元素中的数一次抽取出来相加
    length := len(baseNum)
    for i := 0; i < length; i++ {
    if baseNum[i] == 0 {
    continue
    }
    res += baseNum[i] * int(math.Pow(float64(modNum), float64(length - i - 1)))
    }

    if !flag {
    res = 0 - res
    if res < math.MinInt32 {
    return 0
    }
    }else if res > math.MaxInt32{
    return 0
    }
    return int(res)
    }

    func ReverseIntegerTwo(x int) int {
    sign := 1

    // 处理负数
    if x < 0 {
    sign = -1
    x = -1 * x
    }

    res := 0
    for x > 0 {
    // 取出x的末尾
    temp := x % 10
    // 放入 res 的开头
    res = res*10 + temp
    // x 去除末尾
    x = x / 10
    }

    // 还原 x 的符号到 res
    res = sign * res

    // 处理 res 的溢出问题
    if res > math.MaxInt32 || res < math.MinInt32 {
    res = 0
    }

    return res
    }

    func TheBest(x int) int{
    var digits []int8

    for i := x; i != 0; i = i / 10{
    digits = append(digits, int8(i % 10))
    }

    var res int
    for i := len(digits) - 1; i >= 0; i--{
    res += int(digits[i]) * int(math.Pow10(len(digits) - i - 1))
    }
    if res > math.MaxInt32 || res < math.MinInt32{
    return 0
    }
    return res
    }
     
  • 相关阅读:
    Dolls
    无题II hdu 2236(二分枚举区间)
    Cyclic Nacklace
    剪花布条
    Oulipo
    最短路
    Bzoj3211花神游历各国
    Zjoi2010排列计数Perm
    Zjoi2011看电影(movie)
    关于一次同余方程的一类解法(exgcd,CRT,exCRT)
  • 原文地址:https://www.cnblogs.com/zhouqi666/p/9940027.html
Copyright © 2011-2022 走看看