LeetCode 7.整数反転java
869 ワード
LeetCode 7.整数反転java
32ビットのシンボル付き整数を与えます.この整数の各ビットの数字を反転する必要があります.
例1:
例2:
例3:
注意:我々の環境では32ビット以下の符号付き整数しか記憶できないと仮定すると、その数値範囲は[−231,231−1]である.この仮定に基づいて、反転後に整数がオーバーフローした場合は0を返します.
JAVAコード:
32ビットのシンボル付き整数を与えます.この整数の各ビットの数字を反転する必要があります.
例1:
: 123
: 321
例2:
: -123
: -321
例3:
: 120
: 21
注意:我々の環境では32ビット以下の符号付き整数しか記憶できないと仮定すると、その数値範囲は[−231,231−1]である.この仮定に基づいて、反転後に整数がオーバーフローした場合は0を返します.
JAVAコード:
class Solution {
public int reverse(int x) {
String s = String.valueOf(x);
char[] ch = s.toCharArray();
if (x > 0) {
reverse(ch, 0, s.length() - 1);
} else if (x < 0) {
reverse(ch, 1, s.length() - 1);
} else {
return 0;
}
long re = Long.valueOf(String.copyValueOf(ch));
if (re > Integer.MAX_VALUE || re