题目出处
题目描述
个人解法
思路:
1.将整数转换为字符串
2.倒序输出字符串
3.兼容负数case
代码示例:(Java)
public int reverse(int x) {
Integer integer = new Integer(x);
String s = integer.toString();
String reverseStr = "";
boolean isNegative = false;
for (int i = s.length() - 1; i >= 0; i--) {
char c = s.charAt(i);
if ('-' == c) {
isNegative = true;
continue;
}
reverseStr += c;
}
return isNegative ? -new Integer(reverseStr) : new Integer(reverseStr);
}
复杂度分析
o(n)
官方解法
方法1:数学
思路:
代码示例:(Java)
public int reverse(int x) {
int rev = 0;
while (x != 0) {
if (rev < Integer.MIN_VALUE / 10 || rev > Integer.MAX_VALUE / 10) {
return 0;
}
int digit = x % 10;
x /= 10;
rev = rev * 10 + digit;
}
return rev;
}
复杂度分析
考察知识点
2.char是否相等判断
3.四则运算之余数,除法运算