LeeCode 整数反转

var reverse = function(x) {
    let str = x.toString();
    if(str.length == 0){
        return 0;
    }
    
    let asc = str[0]
    let final = ''
  
    if(asc === '-' || asc === '+'){
        str = str.slice(1)
        final = asc
    }
    let index = str.length-1;
    
    
    for(index;index >=0 ;index --){
        final = final.concat(str[index])
    }
    
    let num = final - 0
    
    if(num > 2147483647 || num<-2147483648){
        return 0;
    }
    return num
    
};

昨天做了atoi,这个题目就比较简单,主要是今天憋文章,1个小时才写了几百个字,已经头晕脑胀,做个题目清醒下,

看到一个写法,比我执行效率快,也简单,也记录下

var reverse = function(x) {
    
  var isPositive = x >= 0, result;
    
  var temp = isPositive ? x : -x;
    
  var t2 = (temp + '').split('').reverse().join('') - 0; // 这里直接内存溢出了
  
  result = isPositive ? t2 : -t2;
  
   if(result > 2147483647 || result < -2147483648 ) {
       return 0;
   } else {
       return result;
   }

其中整数+""  就直接转成字符串了,然后再利用数组的reverse

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值