美文网首页算法
LeetCode 7、整数反转

LeetCode 7、整数反转

作者: 天空像天空一样蓝 | 来源:发表于2019-10-17 15:34 被阅读0次

    整数反转

    LeetCode
    题目描述

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

    示例:

    输入: 123
    输出: 321
    
    输入: -123
    输出: -321
    
    输入: 120
    输出: 21
    
    

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

    思考
    1234 = 12310 + 4
    123 = 12
    10 + 3
    12 = 1*10+ 2
    1 = 1

    /// 整数反转
    ///
    /// - Parameter x: 输入值
    /// - Returns: 反转后的值
    func reverse(_ x: Int) -> Int {
        var result = 0
        var origin = x
        while origin != 0 {
            result = origin % 10 + result * 10
            origin = origin / 10
            if result > Int32.max || result < -Int32.max {
                result = 0
            }
        }
        return result
    }
    

    相关文章

      网友评论

        本文标题:LeetCode 7、整数反转

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