亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

LeetCode - 007 - 整數(shù)反轉(reverse-integer)

venmos / 3678人閱讀

摘要:詳細介紹將其他值轉成數(shù)字值。此方法更改數(shù)組的長度。詳細介紹解題思路首先,將傳入的數(shù)字轉換成字符串,并分割成數(shù)組。本許可協(xié)議授權之外的使用權限可以從處獲得。

Create by jsliang on 2019-05-19 09:42:39
Recently revised in 2019-05-19 16:08:24

Hello 小伙伴們,如果覺得本文還不錯,記得給個 star , 小伙伴們的 star 是我持續(xù)更新的動力!GitHub 地址

LeetCode 攻略地址

一 目錄

不折騰的前端,和咸魚有什么區(qū)別

目錄
一 目錄
二 前言
三 解題
?3.1 解法 - 轉字符串
?3.2 解法 - 數(shù)學算法
二 前言

返回目錄

難度:簡單

涉及知識:數(shù)組、數(shù)學

題目地址:leetcode-cn.com/problems/re…

題目內(nèi)容

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

示例 1:

輸入: 123
輸出: 321
 示例 2:

輸入: -123
輸出: -321
示例 3:

輸入: 120
輸出: 21
注意:

假設我們的環(huán)境只能存儲得下 32 位的有符號整數(shù),則其數(shù)值范圍為 [?231,  231 ? 1]。請根據(jù)這個假設,如果反轉后整數(shù)溢出那么就返回 0。
三 解題

返回目錄

官方題解:leetcode-cn.com/problems/re…

解題千千萬,官方獨一家,上面是官方使用 C++ / Java 進行的題解。

小伙伴可以先自己在本地嘗試解題,再看看官方解題,最后再回來看看 jsliang 講解下使用 JavaScript 的解題思路。

3.1 解法 - 轉字符串

返回目錄

解題代碼

var reverse = function(x) {
  // 轉數(shù)組
  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;
};

執(zhí)行測試

    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:將其他值轉成數(shù)字值。Number 詳細介紹

    pop()pop() 方法從數(shù)組中刪除最后一個元素,并返回該元素的值。此方法更改數(shù)組的長度。pop() 詳細介紹

    Math:JS 中的內(nèi)置對象,具有數(shù)學常數(shù)和函數(shù)的屬性和方法。Math 詳細介紹

解題思路

首先,將傳入的數(shù)字 x 轉換成字符串,并分割成數(shù)組。

然后,遍歷該數(shù)組,將最后一個取出來放到 result 中。

最后,判斷這個 result 是否超過題目限制,如果超過則變成 0 。

進一步思考

3.2 解法 - 數(shù)學算法

返回目錄

解題代碼

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 ");

執(zhí)行測試

    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 中的內(nèi)置對象,具有數(shù)學常數(shù)和函數(shù)的屬性和方法。Math 詳細介紹

解題思路

首先,我們初始化數(shù)值。

然后,我們需要知道的是,一個數(shù)對 10 取余,可以得到這個數(shù)的個位數(shù);一個數(shù)乘于 10 并加上一個個位數(shù),可以將這個數(shù)字放到末尾。

最后,我們判斷一開始傳入的數(shù)值正負,再返回對應結果即可。


jsliang 廣告推送:
也許小伙伴想了解下云服務器
或者小伙伴想買一臺云服務器
或者小伙伴需要續(xù)費云服務器
歡迎點擊 云服務器推廣 查看!


jsliang 的文檔庫 由 梁峻榮 采用 知識共享 署名-非商業(yè)性使用-相同方式共享 4.0 國際 許可協(xié)議進行許可。
基于github.com/LiangJunron…上的作品創(chuàng)作。
本許可協(xié)議授權之外的使用權限可以從 creativecommons.org/licenses/by… 處獲得。

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://www.ezyhdfw.cn/yun/6823.html

Failed to recv the data from server completely (SIZE:0/8, REASON:closed)