LeetCode第7題 整數反轉

2021-10-03 03:03:47 字數 650 閱讀 2388

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

示例 1:

輸入: 123

輸出: 321

示例 2:

輸入: -123

輸出: -321

示例 3:

輸入: 120

輸出: 21

注意:假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−231,  231 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。

反轉乙個整數,只需要將x取餘,然後x除以10,直到最後x/10==0就可以了。

例如:res=0

x取餘等於3    res=res*10+3=3     x=123/10=12

x取餘等於2    res=res*10+2=32    x=12/10=1

x取餘等於1    res=res*10+1=321    x=1/10=0(演算法停止)

學習了整數反轉的方法,在判斷溢位時花費了太多時間。

整數反轉 leetcode力扣第7題

要注意的一點是整型溢位的判斷是在反轉後,所以只要用長整型儲存反轉結果,然後再判斷是否超出整型範圍就可以。本來這道簡單題也不至於做不出來,但是這個整型溢位的問題,我糾結了很久,以為是輸入就要判斷,所以記錄一下這個坑點。class solution int nums 33 int length 0 wh...

Leetcode第7題正數反轉

最近開始學習演算法,先直接在力扣上做簡單的題目,發現長時間不做手特別生,考慮步驟提交好多次都提交不上去 題目要求 自己的思路 從末位開始,依次拿到乙個數 將每次拿到的數放到依次排開 按照自己的思路實現了一下,一直提交不通過,後來才發現很多數字反轉後可能超出 int 的取值範圍。所以這樣的考慮太過於簡...

leetcode刷題第2題 整數反轉

題目 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉後整數溢位那麼就返回 0。求解 1.c int reverse int x if resultint ma...