一、前言
找工作这段闹心的日子,继续刷题吧...
二、Problem
Reverse Integer
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
问题的意思是给一个整数,进行反转后再返回。如果反转后溢出了,则返回0。
三、Solution
思路是将输入的整数转化为字符串,遍历该字符串的characters.reversed()
,创建一个新字符串,如果遇到“-”号则插入到该字符串最前面,否则就插入到该字符串后面。最后使用可选绑定判断是否溢出,进行相应的返回。
代码如下:
class Solution {
func reverse(_ x: Int) -> Int {
let oldString = String(x)
var newString = String()
for character in oldString.characters.reversed() {
if character == "-" {
newString.insert(character, at: newString.startIndex)
}else {
newString.append(character)
}
}
if let result = Int32(newString) {
return Int(result)
}else {
return 0
}
}
}