字節(jié)跳動,騰訊大廠面試專題——力扣(7)整數(shù)反轉(zhuǎn)

題目解析

給出一個 32 位的有符號整數(shù),你需要將這個整數(shù)中每位上的數(shù)字進行反轉(zhuǎn)。

  • 首先我們知道題目給了我們一個整數(shù),我們分析一下意思,系統(tǒng)想讓我們將一個數(shù)反轉(zhuǎn)過來,且反轉(zhuǎn)過來的數(shù)值范圍為[?2^31/, 2^31 ? 1]。

解題思路

  • 首先我們可以創(chuàng)建一個數(shù)組,把傳入的數(shù)字轉(zhuǎn)換成字符串的形式,在轉(zhuǎn)換成數(shù)組的形式存儲起來。
  • 然后循環(huán)遍歷這個數(shù)組,如果這個數(shù)傳入進來的時候是負數(shù),那我們就少遍歷一次。把這些數(shù)倒序相加起來。最后將數(shù)組的第0項添加到最前面。反之,我們就全部遍歷。
  • 之后我們就可以將這個數(shù)轉(zhuǎn)換為數(shù)字類型,同時清除轉(zhuǎn)換之后開始為0的情況。
  • 最后我們用3元運算判斷這個數(shù)的范圍。再將這個數(shù)返回即可。

完整代碼

var reverse = function(x) {
            var new_arr = [];
            var str = "";
            new_arr = x.toString().split("");
            if(x<0){
                for(var i = new_arr.length-1 ; i>0 ; i--){
                    str += new_arr[i];
                }
                str = new_arr[0]+str;
            }else{
                for(var i = new_arr.length-1 ; i>-1 ; i--){
                    str += new_arr[i];
                }
            }
            str = parseInt(str);
            str = str > Math.pow(2,31)-1 || -Math.pow(2,31) > str ? 0 :str;
            return str;
};
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容