LeetCode刷題筆記 七)反轉整數

2021-08-19 18:01:25 字數 785 閱讀 1148

題目:給定乙個 32 位有符號整數,將整數中的數字進行反轉。

示例 1:

輸入: 123

輸出: 321

示例 2:

輸入: -123

輸出: -321

示例 3:

輸入: 120

輸出: 21

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

解法1:字串解法

class solution 

long num = long.valueof(str.tostring()); //轉換為long,不用int是考慮到邊界的情況

if(num>integer.max_value)else

return x<0?-result:result; //判斷正負返回

}}

這種解法就是把輸入轉換為字串,進行翻轉,然後返回對應的正負值

時間複雜度:o(n))

空間複雜度:o(1)

解法2:求餘數法

class solution   

return result;

} }

這裡和解法2是一樣的,只不過這裡用的是乙個除法來判斷有沒有溢位,而沒有建立乙個long數值。空間複雜度和時間複雜度和2是一樣的;

Leetcode刷題 整數反轉

解法一 思路 先將x轉化為字串形式str x 然後判斷x是否負數,是則輸出除負號外的倒序字串,然後取負,否則直接輸出倒序字串。def reverse force x int int str x str x if str x 0 str x str x 1 從後往前數,步進為1 321 x int s...

LeetCode 刷題 整數反轉

示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉後整數溢位那麼就返回 0。雖然是個easy難度的,但是想一次通過並不簡單...

LeetCode刷題 整數反轉

給你乙個 32 位的有符號整數 x 返回 x 中每位上的數字反轉後的結果。如果反轉後整數超過 32 位的有符號整數的範圍 231,231 1 就返回 0。假設環境不允許儲存 64 位整數 有符號或無符號 示例 1 輸入 x 123 輸出 321 示例 2 輸入 x 123 輸出 321 示例 3 輸...