数字的反转 限制在32位
1 var reverse = function(x) { 2 var str=x+""; 3 var res=[]; 4 for(var i=str.length-1;i>0;i--){ 5 res.push(str.charAt(i)); 6 } 7 if(str.charAt(0)==="-"){ 8 res.unshift("-"); 9 }else{ 10 res.push(str.charAt(0)); 11 } 12 var result=parseInt(res.join("")); 13 if(result<=(-1)*Math.pow(2,31)||result>=Math.pow(2,31)-1){ 14 return 0; 15 } 16 return result; 17 };
先将x转为字符串,声明一个数组,从末端开始拿,放入数组,剩下最后一位,需要检查是否为负号。是的话将它放到第一位(unshift方法)。否则的话继续放进数组。
最后将数组拼接成字符串。检查是否溢出。