力扣(leecode)題庫-簡單-02.整數反轉-JS解法
阿新 • • 發佈:2020-11-21
題目:
給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。
示例1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:
假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為[−231, 231− 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/reverse-integer
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
解題思路:
先將給定的陣列轉化為字串型,然後再從後往前迴圈字串,並將返回的值利用字串的級聯組成新的字串,新增判斷是否有負號,如有則負號級聯在新字串最前,最後新字串乘1以便將字串轉化為數值型(當然也可以用方法轉換),同時判斷是否超出32位範圍。
JS解法程式碼:
var reverse = function(x) { var st = x.toString(); var len = st.length; var num = ''; for(var i = len - 1; i >=0; i--){ if(st[i] == '-'){ num = st[i] + num; }else{ num = num + st[i]; } } num = num * 1 if(num > 2147483648 || num < -2147483648){return 0; }else{ return num; } };