当前位置: 代码迷 >> 综合 >> leetcode—— Reverse Integer
  详细解决方案

leetcode—— Reverse Integer

热度:58   发布时间:2023-11-10 14:05:53.0

要求:给定一个32位有符号整数,取反。

例子:Input: 123 Output: 321

           Input: -123 Output: -321

          Input: 120 Output: 21

思路一:通过数字取反,首先需要判断正负

class Solution(object):def reverse(self, x):""":type x: int:rtype: int"""a=0if x<0:flag=-1else:flag=1x=abs(x)while (x>0):a = a * 10 + x % 10x/=10a=flag*areturn a if a< 2147483648 and a>-2147483648 else 0

思路二:通过字符串切片输出

class Solution(object):def reverse(self, x):""":type x: int:rtype: int"""if x<0:x = str(-x)[::-1]result = -1 * int(x)else:result = int(str(x)[::-1])return result if result< 2147483648 and result>-2147483648 else 0

tips:

   字符串切片:list[start:end:step]

   例如:list=[1,2,3,4,5,6,7,8,9]

              list[1:3:1]='2,3'

  相关解决方案