2021-06-30 每日一题 整数反转(转字符串暴力解 待优化学习)

技术水平有限,目前只想到了转字符串再反转的方法,性能低到爆,有待加强学习


public class LeetCode2 {
    public static void main(String[] args) {
      int x=  reverse(-123);
        System.out.println(x);
    }

    public static int reverse(int x) {
        if(x==0){
            return  0;

        }
    String result=Integer.toString(x);

    result=new StringBuilder(result).reverse().toString();
    if(x<0){
       result= result.substring(0,result.length()-1);
       result="-"+result;
    }
    if(result.contains("-")){
        int i=1;
        while (result.charAt(i)=='0'){
            i++;
        }
        String newResult=result.substring(i,result.length());
        double doubleResult= Double.parseDouble(newResult);
        if(doubleResult>Integer.MAX_VALUE||doubleResult<Integer.MIN_VALUE){
            return 0;
        }
        int newInt= Integer.parseInt(newResult);
        return  -newInt;

    }else{

        int i=0;
        while (result.charAt(i)=='0'){
            i++;
        }
        String newResult=result.substring(i,result.length());
        double doubleResult= Double.parseDouble(newResult);
        if(doubleResult>Integer.MAX_VALUE||doubleResult<Integer.MIN_VALUE){
            return 0;
        }
        int newInt= Integer.parseInt(newResult);
        return  newInt;
    }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值