力扣 7 整數反轉 簡單

2021-10-24 07:34:57 字數 907 閱讀 7052

描述:

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

示例:

示例 1:

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

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

輸入:120輸出:21
較優的解決方案:

class solution 

return ans;

}}

思路解析:

講真,咱沒啥特點,就是笨....看到這個題也有一點思路,做出來了也提交了耗時3ms,再看看大神的耗時1ms,超過100%.....想說下我自己的方案,很簡單,就是先用數**算符取得每一位的數字,存到乙個list裡,然後使用乙個long型儲存新的計算結果,最後進行溢位判斷,用到了兩次迴圈。但是一定要分兩次處理嗎,中間結果(每一位上的數字)一定要單獨儲存嗎,看了人家的才頓悟,根本不需要,溢位判斷也不需要使用 long 型。我覺得這個解決方案巧妙的點就在這兩點,乙個是邊取邊計算,乙個是利用 計算的特性和最大最小值的最後一位來進行溢位判斷。這裡只說一下溢位判斷,通過計算可以知道,以integer.max_value /10和integer.min_value/10為邊界,當前累加和大於或者小於邊界時,則一定會溢位,當等於邊界時,需要用到max和min的最後一位進行輔助判斷,max最後一位是7,min最後一位是-8,當當前位大於或者小於該數字時一定會溢位,此時返回零即可,否則繼續進行累加,直到所有的數字處理完畢。

力扣7 整數反轉

給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉 示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21sign x 0 x正負 maxint32 1 31 1 準備int32最大值 res 0 準備結果,初始化為0 if...

力扣(7) 整數反轉

題目描述 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。思路 先轉字串,符號位單獨考慮。對只有數字的字串進行反轉,再轉為整數型,最後與符號位相乘輸出 import math class solution def reverse self,x int int label 1 ...

力扣 7 整數反轉

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