Reverse Integer

Reverse digits of an integer.
反轉整數數字。
Example1: x = 123, return 321
Example2: x = -123, return -321
需要注意的問題:整數的最低位是0,如10100.以及反轉的數字可能溢出。

解:

反轉一個數字就是循環的除以10,得到的余數是最低位,是我們返回的結果的最高位。這種解法對于10100這種情況依舊使用,為了防止溢出則需要一個判斷語句。代碼如下(C++)
class Solution { public: int reverse(int x) { int result = 0; while (x != 0){ if (INT_MAX / 10 < result||INT_MIN/10>result){ result = 0; break; } else{ result = result * 10 + x % 10; } x /= 10; } return result; } };
顯然時間復雜度為O(n),空間復雜度為O(1).

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容