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