摘要:詳細介紹將其他值轉成數字值。此方法更改數組的長度。詳細介紹解題思路首先,將傳入的數字轉換成字符串,并分割成數組。本許可協議授權之外的使用權限可以從處獲得。
Create by jsliang on 2019-05-19 09:42:39
Recently revised in 2019-05-19 16:08:24
Hello 小伙伴們,如果覺得本文還不錯,記得給個 star , 小伙伴們的 star 是我持續更新的動力!GitHub 地址
LeetCode 攻略地址
一 目錄不折騰的前端,和咸魚有什么區別
目錄 |
---|
一 目錄 |
二 前言 |
三 解題 |
?3.1 解法 - 轉字符串 |
?3.2 解法 - 數學算法 |
返回目錄
難度:簡單
涉及知識:數組、數學
題目地址:leetcode-cn.com/problems/re…
題目內容:
給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。 示例 1: 輸入: 123 輸出: 321 示例 2: 輸入: -123 輸出: -321 示例 3: 輸入: 120 輸出: 21 注意: 假設我們的環境只能存儲得下 32 位的有符號整數,則其數值范圍為 [?231, 231 ? 1]。請根據這個假設,如果反轉后整數溢出那么就返回 0。三 解題
返回目錄
官方題解:leetcode-cn.com/problems/re…
解題千千萬,官方獨一家,上面是官方使用 C++ / Java 進行的題解。
小伙伴可以先自己在本地嘗試解題,再看看官方解題,最后再回來看看 jsliang 講解下使用 JavaScript 的解題思路。
3.1 解法 - 轉字符串返回目錄
解題代碼:
var reverse = function(x) {
// 轉數組
let numberToArray = String(Math.abs(x)).split("");
// 轉字符串
let result = "";
for (const i = 0; i < numberToArray.length; ) {
result += numberToArray.pop();
}
result = x > 0 ");Number(result) : - Number(result);
// 超 [-Math.pow(2, 31), Math.pow(2, 31) - 1] 判斷
if (result > Math.pow(2, 31) - 1
|| result < - Math.pow(2, 31)) {
result = 0;
}
return result;
};
執行測試:
x:-1234
return:
-4321
LeetCode Submit:
? Accepted
? 1032/1032 cases passed (88 ms)
? Your runtime beats 99.53 % of javascript submissions
? Your memory usage beats 46.01 % of javascript submissions (35.8 MB)
知識點:
String:將其他值轉成字符串。String 詳細介紹
Number:將其他值轉成數字值。Number 詳細介紹
pop():pop() 方法從數組中刪除最后一個元素,并返回該元素的值。此方法更改數組的長度。pop() 詳細介紹
Math:JS 中的內置對象,具有數學常數和函數的屬性和方法。Math 詳細介紹
解題思路:
首先,將傳入的數字 x 轉換成字符串,并分割成數組。
然后,遍歷該數組,將最后一個取出來放到 result 中。
最后,判斷這個 result 是否超過題目限制,如果超過則變成 0 。
進一步思考:
3.2 解法 - 數學算法返回目錄
解題代碼:
var reverse = function(x) {
let result = 0;
let y = Math.abs(x);
while (y != 0) {
result = result * 10 + y % 10;
y = Math.floor(y / 10);
if (result > Math.pow(2, 31) - 1
|| result < -Math.pow(2, 31)) {
result = 0;
y = 0;
}
}
return x > 0 ");
執行測試:
x:-1234
return:
-4321
LeetCode Submit:
? Accepted
? 1032/1032 cases passed (108 ms)
? Your runtime beats 97.4 % of javascript submissions
? Your memory usage beats 23.63 % of javascript submissions (36 MB)
知識點:
Math:JS 中的內置對象,具有數學常數和函數的屬性和方法。Math 詳細介紹
解題思路:
首先,我們初始化數值。
然后,我們需要知道的是,一個數對 10 取余,可以得到這個數的個位數;一個數乘于 10 并加上一個個位數,可以將這個數字放到末尾。
最后,我們判斷一開始傳入的數值正負,再返回對應結果即可。
jsliang 廣告推送:
也許小伙伴想了解下云服務器
或者小伙伴想買一臺云服務器
或者小伙伴需要續費云服務器
歡迎點擊 云服務器推廣 查看!
jsliang 的文檔庫 由 梁峻榮 采用 知識共享 署名-非商業性使用-相同方式共享 4.0 國際 許可協議進行許可。
基于github.com/LiangJunron…上的作品創作。
本許可協議授權之外的使用權限可以從 creativecommons.org/licenses/by… 處獲得。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/6823.html
摘要:微信公眾號記錄截圖記錄截圖目前關于這塊算法與數據結構的安排前。已攻略返回目錄目前已攻略篇文章。會根據題解以及留言內容,進行補充,并添加上提供題解的小伙伴的昵稱和地址。本許可協議授權之外的使用權限可以從處獲得。 Create by jsliang on 2019-07-15 11:54:45 Recently revised in 2019-07-15 15:25:25 一 目錄 不...
摘要:月下半旬攻略道題,目前已攻略題。目前簡單難度攻略已經到題,所以后面會調整自己,在刷算法與數據結構的同時,攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚有什么區別...
摘要:在線網站地址我的微信公眾號完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個題。這是項目地址歡迎一起交流學習。 這篇文章記錄我練習的 LeetCode 題目,語言 JavaScript。 在線網站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號: showImg(htt...
摘要:第一時間想到這是經典的取模取余運算,但是寫的過程中遇到了很多問題這么簡單一題基礎做法取一個整數的最后一位數字只要把這個整數就可以,要取除最后一位數字之外的其它數字只要是沒有長度函數的,需要轉化成才能使用長度函數用這個方法最大的難點在 Easy 007 Reverse Integer Description: Given a 32-bit signed integer, reverse ...
摘要:題目給出一個位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例輸入輸出示例輸入輸出示例輸入輸出注意假設我們的環境只能存儲得下位的有符號整數,則其數值范圍為。解答關鍵將整數轉換為字符串進行切片反轉注意溢出注意符號 題目: 給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。 示例 1:輸入: 123輸出: 321 示例 2:輸入: -123輸出: -32...
閱讀 2095·2021-11-02 14:48
閱讀 2772·2019-08-30 14:19
閱讀 2940·2019-08-30 13:19
閱讀 1308·2019-08-29 16:17
閱讀 3246·2019-08-26 14:05
閱讀 3000·2019-08-26 13:58
閱讀 3087·2019-08-23 18:10
閱讀 1114·2019-08-23 18:04