【LeetCode】007.Reverse Integer - javascript求解

xiaoxiao2021-02-28  132

Reverse digits of an integer.

Example1: x = 123, return 321 Example2: x = -123, return -321

方案一:不考虑所谓溢出,因为在 javascript 中没有溢出这个概念,或者说这个概念不是特别强。完全可以用数组,字符串的方式解决。

var reverse = function(x) { var result = re(x); // console.log("re:",result,re(result)) if(x==re(result) && result < Math.power(2,31) && result > -Math.power(2,31))return parseInt(result); else return 0; }; function re(a) { // console.log("wait:",a); if(a>-1){ return (""+a).split("").reverse().join(""); }else{ return "-"+(""+a).substr(1).split("").reverse().join(""); } }

方法二:考虑溢出,溢出时,自身与0或,不等于自身。

var reverse = function(x) { var result = 0; var digtal = 0; var newresult = 0; while(x!=0){ digtal = x % 10; newresult = result*10 + digtal; if((newresult - digtal | 0) != result*10){ return 0 }else{ result = newresult; } x = (x - digtal)/10; } return result; };
转载请注明原文地址: https://www.6miu.com/read-45072.html

最新回复(0)