leetcode騰訊精選練習50(4) 整數反轉

2021-09-26 14:56:38 字數 1097 閱讀 7532

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

示例 1:

輸入: 123

輸出: 321

示例 2:

輸入: -123

輸出: -321

示例 3:

輸入: 120

輸出: 21

注意:

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

這是一道相對簡單的題目,學校的c++課做過,不過對溢位的處理沒有要求。我習慣做題先不看題目的極端輸入和對時間、空間複雜度的要求,先做一套方案出來,充滿暴力美學的一套方案,畢竟抓到老鼠的就是好貓。

言歸正傳,我們只需將輸入的數字x個位上的數字從x**棧,加到結果的整數res上……just show you code!

class

solution

return res;

}}

cpp

class

solution

return res;}}

;

python3

class

solution

:def

reverse

(self, x:

int)

->

int:

y, res =

abs(x),0

of =(1

<<31)

-1if x >

0else

1<<

31while y !=0:

res = res *

10+ y %

10if res > of:

return

0 y //=

10return res if x >

0else

-res

Leetcode騰訊精選練習2

原題 兩個大小為 m 和 n 的排序陣列 nums1 和 nums2 請找出兩個排序陣列的中位數並且總的執行時間複雜度為 o log m n 示例 1 nums1 1,3 nums2 2 中位數是 2.0 示例 2 nums1 1,2 nums2 3,4 中位數是 2 3 2 2.5 看到這題目自然...

Leetcode騰訊精選練習04

原題 leetcode7 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1...

Leetcode騰訊精選練習05

請你來實現乙個atoi函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字元組...