Swift 4.2
func reverse(_ x: Int) -> Int {
if x == 0 {
return 0
}
var depth = 0
var copyX = abs(x)
var sum = 0
while copyX > 9 {
let remainder = copyX % 10
copyX = copyX / 10
depth += 1
sum = (sum + remainder) * 10
}
sum = copyX + sum
let limit = uint.max / 2 + 1
if sum > limit {
return 0
}
if sum == limit && x > 0 {
return 0
}
return x > 0 ? sum : -sum
}

网友评论