7. 整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123
输出: 321
 示例 2:

输入: -123
输出: -321
示例 3:

输入: 120
输出: 21

注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer

public class Solution {
    public int reverse(int input) {
        long ans = 0;
        while(input != 0) {
            ans = ans*10 + input%10;
            input /= 10;
        }
        return ans > Integer.MAX_VALUE || ans < Integer.MIN_VALUE ? 0 : Integer.valueOf(Long.toString(ans));
    }
}
 @DisplayName("Reverse")
    @ParameterizedTest(name = "Should Return {1},given {0}")
    @CsvSource({
            "123,321",
            "-123,-321",
            "120,21",
            "0x7fffffff,0"
    })
    void reverseTest(int input,int expect){
        assertEquals(new Solution().reverse(input),expect);
    }

 

posted @ 2020-04-27 10:50  听说这是最长的名字了  阅读(167)  评论(0编辑  收藏  举报