LeetCode - 逆整数

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--;
        }
    }

おすすめ

転載: www.cnblogs.com/xym4869/p/12652435.html