题目

代码分析

代码实现

public class Solution {
    public int reverse(int x) {
         String strx=String.valueOf(x);
        boolean flag=true;
        if(strx.charAt(0)=='-') flag=false;
        int res=0;
        int min= Integer.MIN_VALUE;
        int min2=Integer.MIN_VALUE/10;
        int min3=Integer.MIN_VALUE%10;
        for(int i=strx.length()-1;i>(flag?-1:0);i--)
        {
            res=res*10+('0'-strx.charAt(i));
            if(i!=(flag?0:1))//不是最后一个
            {
                if(res==min2)
                {
                    int temp='0'-strx.charAt(i-1);
                    if(temp<min3)
                    {
                       return 0;
                    }else //temp==min3
                    {
                       if(flag)
                       {
                           return 0;
                       }
                    }
                }else if(res<min2)
                {
                    return 0;
                }
            }
        }
        return flag?res*-1:res;
    }
}

学习情况

1次