題目直接截圖於力扣(LeetCode)。算法
該題網址:https://leetcode-cn.com/problems/reverse-integer/spa
無。須要注意的是數值越界,int型能表示的最大範圍是【負2的31次】到【2的31次-1】之間,而在反轉時,有些方法須要進行 【*10】操做,有可能越界。code
有許多種方法,好比能夠轉爲字符,而後換過位置後再轉回數字。blog
此題的標籤是【簡單】,但我卻依舊借鑑了別人的思路,感受有些羞愧。leetcode
一、借鑑class
代碼簡介,思路清晰。方法
int reverse(int x){ long r = 0; // int型會在【*10】時發生數值溢出(越界),因此用long型。 while(x){ r *= 10; if(r > 2147483647 || r < -2147483648) // 兩個數字分別是整形能表示的最大值與最小值。 return 0; r += x % 10; x /= 10; } return r;
}
ps : 每次提交時的運行時間會由於各類因素而快慢有所不一樣.....
過兩天再試試別的方法
2021-01-18 13:16:16im