美文网首页
整数反转

整数反转

作者: 张文超ai | 来源:发表于2019-07-18 10:11 被阅读0次
    class Solution {
        public static void main(String[] args){
            int target = 7654321;
    
            int result = reverse(target);
            System.out.println(result);
        }
    
        public static int reverse(int x) {
            int pop;
            int result =0;
            while(x!=0){
            //第一步 pop最后一位数字
            pop=x%10;
    
            //第二步 x=x/10;
            x=x/10;
    
            //第三步 result=result*10 + pop;
            // 如果 result 的值大于 Integer.MAX_VALUE / 10 ,那么一定会溢出
                // 如果 result 的值等于 Integer.MAX_VALUE / 10,那么 pop 的值如果大于 Integer.MAX_VALUE % 10 也会溢出
                // 相反的,result 的值小于 Integer.MIN_VALUE / 10 ,那么一定会溢出
                // 如果 result 的值等于 Integer.MIN_VALUE / 10,那么 pop 的值如果小于于 Integer.MIN_VALUE % 10 也会溢出
    
                if(result>Integer.MAX_VALUE/10||(result==Integer.MAX_VALUE/10&&pop>Integer.MAX_VALUE%10)){
                    result=0;
                    return result;
                }
                if(result<Integer.MIN_VALUE/10||(result==Integer.MIN_VALUE/10&&pop<Integer.MIN_VALUE%10)){
                    result = 0;
                    return result;
                }
            result = result*10 + pop ;
    
            }
            return result;
    
        }
    }

    相关文章

      网友评论

          本文标题:整数反转

          本文链接:https://www.haomeiwen.com/subject/imsklctx.html