成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

【LeetCode Easy】007 Reverse Integer

Sourcelink / 2790人閱讀

摘要:第一時(shí)間想到這是經(jīng)典的取模取余運(yùn)算,但是寫(xiě)的過(guò)程中遇到了很多問(wèn)題這么簡(jiǎn)單一題基礎(chǔ)做法取一個(gè)整數(shù)的最后一位數(shù)字只要把這個(gè)整數(shù)就可以,要取除最后一位數(shù)字之外的其它數(shù)字只要是沒(méi)有長(zhǎng)度函數(shù)的,需要轉(zhuǎn)化成才能使用長(zhǎng)度函數(shù)用這個(gè)方法最大的難點(diǎn)在

Easy 007 Reverse Integer Description:
Given a 32-bit signed integer, reverse digits of an integer.
Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [?2^31,? 2^31?? 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
==Example==
123→321 -123→-321 120→21
My Solution:

第一時(shí)間想到這是經(jīng)典的取模取余運(yùn)算,但是寫(xiě)的過(guò)程中遇到了很多問(wèn)題QAQ(這么簡(jiǎn)單一題

基礎(chǔ)做法:取一個(gè)整數(shù)的最后一位數(shù)字只要把這個(gè)整數(shù) % 10就可以,要取除最后一位數(shù)字之外的其它數(shù)字只要 / 10

int是沒(méi)有長(zhǎng)度函數(shù)的,需要轉(zhuǎn)化成String才能使用長(zhǎng)度函數(shù)

用這個(gè)方法最大的難點(diǎn)在于用int類(lèi)型時(shí)處理溢出問(wèn)題,原本沒(méi)有溢出的數(shù)字在進(jìn)行翻轉(zhuǎn)時(shí)很有可能溢出,最合適的方法是在處理過(guò)程中進(jìn)行預(yù)判

假設(shè)翻轉(zhuǎn)過(guò)程的中間值用res來(lái)保存,每次取下來(lái)的那個(gè)數(shù)字用pop來(lái)保存,overflow = 2147483646,underFlow = -2147483647

已知當(dāng)res * 10 + pop 會(huì)引起溢出時(shí),res必定是 ≥ (max / 10)或 ≤ (min / 10)的,其中相等時(shí)對(duì)pop有要求

根據(jù)上述條件在翻轉(zhuǎn)時(shí)進(jìn)行溢出預(yù)判

Java代碼:

  public static int reverse(int x) {
      int overFlow = (int)Math.pow(2,31) -1;     //overFlow = 2147483646
      int underFlow = 0 - (int)Math.pow(2,31);   //underFlow = -2147483647
      int pop = 0;
      int result = 0;

      while(x != 0){
          pop = x % 10;
          if((result>overFlow/10) || (result==overFlow/10 && pop>7))
              return 0;
          if((result

Fast Solution:

題目中要求的溢出條件其實(shí)是針對(duì)int型數(shù)據(jù)的,這題用Java來(lái)寫(xiě)的話其實(shí)可以用long類(lèi)型

Java代碼:

 public int reverse(int x) {
     long res = 0;   //此處用了long
     while (x != 0) {
         res = res * 10 + x % 10;
         x = x / 10;
     }
     return (int)res == res ? (int)res : 0;   
 }

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74237.html

相關(guān)文章

  • 前端 | 每天一個(gè) LeetCode

    摘要:在線網(wǎng)站地址我的微信公眾號(hào)完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個(gè)題。這是項(xiàng)目地址歡迎一起交流學(xué)習(xí)。 這篇文章記錄我練習(xí)的 LeetCode 題目,語(yǔ)言 JavaScript。 在線網(wǎng)站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號(hào): showImg(htt...

    張漢慶 評(píng)論0 收藏0
  • LeetCode - 007 - 整數(shù)反轉(zhuǎn)(reverse-integer

    摘要:詳細(xì)介紹將其他值轉(zhuǎn)成數(shù)字值。此方法更改數(shù)組的長(zhǎng)度。詳細(xì)介紹解題思路首先,將傳入的數(shù)字轉(zhuǎn)換成字符串,并分割成數(shù)組。本許可協(xié)議授權(quán)之外的使用權(quán)限可以從處獲得。 Create by jsliang on 2019-05-19 09:42:39 Recently revised in 2019-05-19 16:08:24 Hello 小伙伴們,如果覺(jué)得本文還不錯(cuò),記得給個(gè) star , 小伙伴們...

    venmos 評(píng)論0 收藏0
  • leetcode-Easy-第2期:Reverse Interger

    摘要:題目反轉(zhuǎn)整數(shù)反轉(zhuǎn)后的整數(shù)如果不在范圍則返回簡(jiǎn)單解法耗時(shí)解法二獲取余數(shù),即從右邊第一位開(kāi)始的數(shù)字保留整數(shù)部分解題思路跳出循環(huán),判斷是否在最大值和最小值之間知識(shí)點(diǎn)復(fù)習(xí)小于的最大整數(shù)返回四舍五入返回的整數(shù)部分,包含正負(fù)號(hào) 題目 Given a 32-bit signed integer, reverse digits of an integer. 反轉(zhuǎn)整數(shù)反轉(zhuǎn)后的整數(shù)如果不在[?2^31, ...

    Tecode 評(píng)論0 收藏0
  • leetcode部分題目答案之JavaScript版

    摘要:自己沒(méi)事刷的一些的題目,若有更好的解法,希望能夠一起探討項(xiàng)目地址 自己沒(méi)事刷的一些LeetCode的題目,若有更好的解法,希望能夠一起探討 Number Problem Solution Difficulty 204 Count Primes JavaScript Easy 202 Happy Number JavaScript Easy 190 Reverse Bi...

    alphahans 評(píng)論0 收藏0
  • Leetcode 7 Reverse Integer 倒序整數(shù)

    摘要:原題目為難度此題讓我們輸出給定一個(gè)整數(shù)的倒序數(shù)比如倒序?yàn)榈剐驗(yàn)榈侨绻剐虻倪^(guò)程中發(fā)生整型溢出我們就輸出倒序不復(fù)雜關(guān)鍵在于如何判定將要溢出最終的程序如下其中是獲取的個(gè)位數(shù)字判定下一步是否將要溢出使用 原題目為: Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -3...

    LoftySoul 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<