Reverse Integer

2018-05-21  本文已影响0人  帽子和五朵玫瑰

Given a 32-bit signed integer, reverse digits of an integer.



Example 1:

Input: 123

Output: 321

Example 2:

Input: -123

Output: -321

Example 3:

Input: 120

Output: 21

Note:

Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

    public int reverse(int x) {
        
        try {
        if(x>0) {
            String s = Integer.toString(x);
            StringBuffer out = new StringBuffer()  ;
            for(int i=s.length()-1;i>=0;i--) {
                out.append(s.charAt(i));
            }
            return Integer.valueOf(out.toString());
        }else {
            x=-x;
            String s = Integer.toString(x);
            StringBuffer out = new StringBuffer()  ;
            for(int i=s.length()-1;i>=0;i--) {
                out.append(s.charAt(i));
            }
            
            return -Integer.valueOf(out.toString());
        }
        }catch(Exception e) {
            return 0;
        }
    }

注意:反转时,数值可能会超过int数据类型的最大值

上一篇 下一篇

猜你喜欢

热点阅读