美文网首页
2.反转整数-Reverse Integer

2.反转整数-Reverse Integer

作者: 快乐捣蛋鬼 | 来源:发表于2019-07-01 17:30 被阅读0次

    LeetCode Link: https://leetcode.com/problems/reverse-integer/

    Description:

    Given a 32-bit signed integer, reverse digits of an integer.
    给一个 32 位的有符号整数,你需要对这个整数中的每位数字进行反转。
    假设我们的环境只能存储得下 32 位的有符号整数,如果反转后整数溢出那么就返回 0。

    Example:

    Input: 123
    Output: 321
    
    Input: -123
    Output: -321
    
    Input: 120
    Output: 21
    
    

    Tints:

    1. / 除号,123 / 10,结果取整为12
    2. % 求余,123 % 10,余数为 3
    3. 123 变为 321
    // temp = 123, result = 0
    // loop1: result = 0 * 10 + 123 % 10   // result = 3
    //        temp = 123 / 10              // temp = 12
    // loop2: result = 3 * 10 + 12 % 10    // result = 32
    //        temp = 12 / 10               // temp = 1
    // loop3: result = 32 * 10 + 1 % 10    // result = 321
    //        temp = 1 / 10                // temp = 0
    // END LOOP
    

    Solution:

    func reverse(_ x: Int) -> Int {
        
        var temp = x
        var result = 0
        while (temp != 0 ) {
            result = result * 10 + temp % 10
            temp /= 10
        }
        if result > Int(Int32.max) || result < Int(Int32.min) {
            return 0
        }
        return result
    }
    

    Runtime: 8 ms-Your runtime beats 88.48 % of swift submissions.

    Memory Usage: 18.9 MB-Your memory usage beats 47.08 % of swift submissions.

    Analyze:使用求余符号依次得出反转后的每一位。

    相关文章

      网友评论

          本文标题:2.反转整数-Reverse Integer

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