leetcode刷題第2題 整數反轉

2021-09-13 14:18:43 字數 536 閱讀 1375

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

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

求解:1.c:

int reverse(int x) 

if(resultint_max)

return 0;

return result;

}

2.c++:

class solution 

return rev;

}};

總結:if的判斷條件放在while迴圈體內外,所得得結果不會有差異。但是在剛開始做這道題時,我的程式的返回值一直是0,原因是我將小於最小值和大於最大值的條件寫在同乙個if中。從邏輯上來講,應該是沒有問題的,但是不知道為什麼會這樣,如果有看到的大佬,麻煩解答一下,萬分感激。

還有一點就是返回值result的型別需要設定為long int型,否則會報錯。

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 輸...