一、前言
找工作這段鬧心的日子,繼續(xù)刷題吧...
二、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.
問(wèn)題的意思是給一個(gè)整數(shù),進(jìn)行反轉(zhuǎn)后再返回。如果反轉(zhuǎn)后溢出了,則返回0。
三、Solution
思路是將輸入的整數(shù)轉(zhuǎn)化為字符串,遍歷該字符串的characters.reversed(),創(chuàng)建一個(gè)新字符串,如果遇到“-”號(hào)則插入到該字符串最前面,否則就插入到該字符串后面。最后使用可選綁定判斷是否溢出,進(jìn)行相應(yīng)的返回。
代碼如下:
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
}
}
}