Q:整数xはフリップを説明します。実施例1:X = 123、戻り321例2:X = -123、-321リターン
次の質問について考えたことはありますか?最後のビットの整数がゼロの場合、出力はすべきですか?例えば、整数は、あなたがそれに気づいフリップ10,100持たをオーバーフローできますか?どのようにあなたは、このようなサンプルを扱うでしょう、入力は32ビットの整数であること、そして百億三がオーバーフローすると仮定すると、反転?例外をスロー?彼らはよくやるが、それは許可していない場合は、例外がスローされますか?ですから、(このような追加のパラメータを追加するなど)の機能を再設計する必要があります。
A:......文字列で少し良くないのですか?
public int reverse(int x) {
String s = Integer.toString(x);
char[] c = s.toCharArray();
if (c[0] == '-') {
swapIn(c, 1, c.length - 1);
} else {
swapIn(c, 0, c.length - 1);
}
String s1 = new String(c);
int result = 0;
try {
result = Integer.parseInt(s1);
} catch (Exception e) {
return 0;
}
return result;
}
private void swapIn(char[] c, int start, int end) {
while (start < end) {
char temp = c[start];
c[start] = c[end];
c[end] = temp;
start++;
end--;
}
}