[LeetCode] 7.Reverse Integer - Swift

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

题目意思:对一个整型进行反转

实现代码:

class Solution {
    
    func reverse(_ x: Int) -> Int {
        var resultX: Int = 0
        var tmp: Int = abs(x) // 求x的绝对值
        var str:String = ""
        
        if x == 0 {
            return 0
        }
        
        while tmp/10 != 0 {
            str = str.appending("\(tmp%10)")
            tmp = tmp/10
        }
        str = str.appending("\(tmp)")// 此时tmp为最高位数
        
        resultX = Int(str)! // 将字符串转化为整型
        
        resultX = (x < 0) ? -resultX : resultX // 将原本的符号带上
        
        // 大于最大值或小于最小值时返回0
        if resultX > Int(Int32.max) || resultX < Int(Int32.min) {
            return 0
        }
        
        return resultX
    }
}

 

posted @ 2017-10-09 15:05  XA_Fanny  阅读(281)  评论(0)    收藏  举报