Leetcode brushing record-7. Inversión de enteros

Inserte la descripción de la imagen aquí

Esta pregunta es relativamente simple y puede convertirse en operaciones de cadena

class Solution:
    def reverse(self, x: int) -> int:
        if x == 0:#若输入为0,返回0
            return 0
        isNeg = False#标记输入是否为负数
        tempstr = str(int(x))#转换为字符串
        if tempstr [0] == '-':#若输入为负数,我们保留符号,只对纯数字部分进行反转
            tempstr = tempstr[1:]
            isNeg = True
        resstr = tempstr[::-1]#反转操作
        index = 0#获取反转后的纯数字部分中第一个不为0的位置
        while resstr[index] == '0':
            index += 1
        resstr = resstr[index:]
        if isNeg is True:
            resstr = '-' + resstr#恢复负号
        res = int(resstr)
        return 0 if ((res > 2**31) or (res <-(2**31)-1)) else res#判断是否在要求范围

        
Publicado 43 artículos originales · elogiado 14 · 20,000+ visitas

Supongo que te gusta

Origin blog.csdn.net/weixin_41545780/article/details/105107976
Recomendado
Clasificación