Reverse digits of an integer.
Example1: x = 123, return 321 Example2: x = -123, return -321
我的第一感觉我就要把它弄成字符串,然后一下子弄出来,结果也实现了,可是超时了。
public int reverse(int x) { String str = x + ""; String strX = ""; if (str.length() == 1) return x; if (str.charAt(0) != '-') for (int i = str.length() - 1; i >= 0; i--) strX += str.charAt(i); else { strX = str.charAt(0) + ""; for (int i = str.length() - 1; i > 0; i--) strX += str.charAt(i); } return Integer.valueOf(strX); }后来没有办法就只能换一种耗时比较短的算法。
public int reverse1(int x) { int reverseNum = 0; int temp = 0; while (x != 0) { temp = reverseNum * 10 + x % 10; x = x / 10; if (temp / 10 != reverseNum) { reverseNum = 0; break; } reverseNum = temp; } return reverseNum; }