###### tags: `Leetcode` `medium` `math` `python` # 7. Reverse Integer ## [題目連結:] https://leetcode.com/problems/reverse-integer/ ## 題目: Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-231, 231 - 1], then return 0. **Assume the environment does not allow you to store 64-bit integers (signed or unsigned).** **Example 1:** ``` Input: x = 123 Output: 321 ``` **Example 2:** ``` Input: x = -123 Output: -321 ``` **Example 3:** ``` Input: x = 120 Output: 21 ``` ## 解題想法: * 轉成string在reverse,再轉回int * 注意正負與益位 ## python: ``` python= #outside the signed 32-bit integer range [-231, 231 - 1], then return 0. class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ #先判斷正負: if x<0: #reversed ans = -1*int(str(-x)[::-1]) #判斷是否溢位 return 0 if ans<(-2**31) else ans else: ans = int(str(x)[::-1]) return 0 if ans>(2**31) else ans if __name__ == '__main__': result = Solution() x = 120 ans = result.reverse(x) print(ans) ```