1. 程式人生 > 實用技巧 >LeetCode7-整數反轉

LeetCode7-整數反轉

非商業,LeetCode連結附上:

https://leetcode-cn.com/problems/reverse-integer/

進入正題。

題目:

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

示例:

示例1:

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

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

輸入: 120
輸出: 21
注意:

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

程式碼實現:

public int reverse(int x) {

        long n = 0;
        while (x != 0) {
            n = n * 10 + x % 10;
            x = x / 10;
        }

        return (int) n == n ? (int) n : 0;
}
//時間複雜度O(n),空間複雜度O(1)

思考:

以上程式碼來自LeetCode網友;

簡潔的程式碼是相似的,繁冗的程式碼卻各有不同;

儘量少的引入額外的變數應該可以儘可能的保持程式的簡潔。

--End