zoukankan      html  css  js  c++  java
  • Leetcode 7.反转整数 By Python

    给定一个 32 位有符号整数,将整数中的数字进行反转。

    示例 1:

    输入: 123
    输出: 321
    

    示例 2:

    输入: -123
    输出: -321
    

    示例 3:

    输入: 120
    输出: 21
    

    注意:

    假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。


    思路

    python提供了方便的字符串反转方法,所以还是蛮简单的这题

    注意几个坑:

    • 0结尾的数字反转后要去除
    • 0-9的数字不存在反转问题,直接输出就好了

    代码

    class Solution(object):
        def reverse(self, x):
            """
            :type x: int
            :rtype: int
            """
            s = str(x)
            if s[0] == '-':
                num = s[1:].lstrip('0')
                x = -int(num[::-1])
                if x > pow(2,31)-1 or x < -pow(2,31):
                    return 0
                else:
                    return x
            elif len(s) == 1:
                return int(s)
            else:
                x = int(s[::-1].lstrip('0'))
                if x > pow(2,31)-1 or x < -pow(2,31):
                    return 0
                else:
                    return x   
    #每种情况都判断一次是否溢出稍显繁琐,可以把它放在最后的return 语句里顺便判断
    
  • 相关阅读:
    岳麓山岳麓书院
    花洲书院
    《诫子书》诸葛亮
    AI ML DL
    台湾大学林轩田机器学习基石
    LeNet
    VGGNet
    AlexNet 2012
    AS 中 Plugin for Gradle 和 Gradle 之间的版本对应关系
    AndroidStudio、gradle、buildToolsVersion关系
  • 原文地址:https://www.cnblogs.com/MartinLwx/p/9688750.html
Copyright © 2011-2022 走看看