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

資訊專欄INFORMATION COLUMN

[LintCode] Reverse Integer

The question / 494人閱讀

摘要:這道題有一些細節(jié)需要留意。新數(shù)會不會溢出符號位如何處理用慣用的做法,除以取余,得到最低位,放進。每次循環(huán)乘以累加當前最低位,同時除以不斷減小。要點在于考慮乘累加運算的情況,用分支語句判斷發(fā)生溢出的條件。最后的結(jié)果要加上之前排除的符號位。

Problem

Reverse digits of an integer. Returns 0 when the reversed integer overflows (signed 32-bit integer).

Example

Given x = 123, return 321

Given x = -123, return -321

Note

這道題有一些細節(jié)需要留意。新數(shù)res會不會溢出?符號位如何處理?
用慣用的做法,n除以10取余,得到最低位cur,放進res。每次循環(huán)res乘以10累加當前最低位cur,同時n除以10不斷減小。
要點在于考慮res乘10累加運算的情況,用分支語句判斷發(fā)生溢出的條件。不能直接寫if (res * 10 + cur > Integer.MAX_VALUE),因為res * 10就有可能會溢出了;而要用(Integer.MAX_VALUE - cur) / 10,因為只有減法和除法,結(jié)果不可能溢出。
最后的結(jié)果要加上之前排除的符號位。

Solution
public class Solution {
    public int reverseInteger(int n) {
        boolean isNeg = n < 0;
        n = isNeg ? -n : n;
        int res = 0;
        while (n != 0) {
            int cur = n % 10;
            if (res >= (Integer.MAX_VALUE - cur) / 10) return 0;
            res = res * 10 + cur;
            n /= 10;
        }
        return isNeg ? -res : res;
    }
}

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

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

相關(guān)文章

  • [LintCode] Evaluate Reverse Polish Notation

    摘要:中的運算符,運算之后要出來,繼續(xù)遍歷數(shù)組。是放入新的數(shù)字,用轉(zhuǎn)換為均可。 Problem Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, *, /. Each operand may be an integer or another ...

    luckyyulin 評論0 收藏0
  • LintCode】Expression Expand 非遞歸stack完成DFS(String)

    摘要:直接的方法不可取因為是每一層。層直接從取出實際上是將這個后應(yīng)該得到。這個時候考慮逆向,建立一個,將出來的東西再一個順序,逆逆得順是一個很好用的操作符,判斷一個對象是否是一個類的實例??有⌒囊稽c這種情況啊代碼 這道題真是超級棒的stack DFS樣板題啊,在這里給自己寫個小小的總結(jié) 思路:想到stack并不難,這種嵌套式一般是DFS的思想,先走到最里面最小的那個括號,然后逐漸回到上一層→...

    livem 評論0 收藏0
  • 表達式類算法題小結(jié)

    摘要:將表達式轉(zhuǎn)換為逆波蘭式,然后求值轉(zhuǎn)換中綴表達式為逆波蘭式魯棒性檢測,表達式中沒有操作數(shù)計算逆波蘭式值參考 表達式類算法題小結(jié) [TOC] 聲明 文章均為本人技術(shù)筆記,轉(zhuǎn)載請注明出處:[1] https://segmentfault.com/u/yzwall[2] blog.csdn.net/j_dark/ 表達式分類 根據(jù)運算符與相關(guān)操作操作數(shù)的位置不同,將表達式分為前綴,中綴和后綴表...

    Heier 評論0 收藏0
  • [LeetCode/LintCode] Top K Frequent Words

    LeetCode version Problem Given a non-empty list of words, return the k most frequent elements. Your answer should be sorted by frequency from highest to lowest. If two words have the same frequency, t...

    0x584a 評論0 收藏0
  • [LintCode] Reverse Pairs

    摘要:暴力解法就是時靈時不靈,兩次一次。希望看到的大神能夠分享優(yōu)質(zhì)的解法謝謝大家 Problem For an array A, if i < j, and A[i] > A[j], called (A[i], A[j]) is a reverse pair.return total of reverse pairs in A. Example Given A = [2, 4, 1, 3, ...

    tigerZH 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<