LeetCode Problems Solutions
question description: 問(wèn)題描述
Reverse digits of an integer.
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
將一個(gè)整數(shù)反向涣觉。
輸入假定為一個(gè)32位的帶符號(hào)整數(shù)。當(dāng)反向的整數(shù)溢出時(shí)涩维,函數(shù)應(yīng)該返回0
Example:例如
Example1: x = 123, return 321
Example2: x = -123, return -321
Thinking
看到題目后最直接的思路可能是利用數(shù)組進(jìn)行反向振愿,然后將字符串轉(zhuǎn)為int诀蓉,最后判斷溢出的問(wèn)題。
還有另一種方法:
solution with java - Java解決方案
public static int reverse(int x) {
long tmp = x;
long ret = 0;
while (tmp != 0)
{
ret = ret * 10 + tmp % 10;
tmp /= 10;
}
if (ret > Integer.MAX_VALUE || ret < Integer.MIN_VALUE) {
return 0;
}
return (int)ret;
}
solution with swift - swift解決方案
func reverse(_ x: Int) -> Int {
var tmp = x
var ret = 0
while (tmp != 0)
{
ret = ret * 10 + tmp % 10;
tmp /= 10;
}
if ret > Int(Int32.max) || ret < Int(Int32.min) {
return 0;
}
return ret;
}