LeetCode(#7) 整数反转 (python) & m的n次方 &整数(字符串)长度

整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123
输出: 321
示例 2:

输入: -123
输出: -321
示例 3:

输入: 120
输出: 21
注意:

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

解法一:整数上的操作 x%10 x//10

array=int(input())

def reverse_option(s):
    new_s=0
    length=len(str(s))
    while s!=0:
        new_s=new_s*10+s%10
        s=s//10
    return new_s

def reverse(x):

    if x==0:
        return 0
    elif x>0:
        new_x=reverse_option(x)
    else:
        x=-x
        new_x=reverse_option(x)
        new_x=-new_x

    if new_x>pow(2,31)-1 or new_x<pow(-2,31):
        new_x=0

    return new_x

print(reverse(array))

c

解法二:把整数先转成字符串,再转乘成整数

array=int(input())

def reverse(x):
    new_str = ""
    plus_minus="-"

    if x==0:
        return 0

    elif x<0:
        x=-x
        str_x=str(x)
        for i in str_x:
            new_str=i+new_str
        new_str=plus_minus+new_str
        new_int=int(new_str)

    else:
        str_x = str(x)
        for i in str_x:
            new_str=i+new_str
        new_int=int(new_str)

    if new_int>pow(2,31)-1 or new_int<pow(-2,31):
        return  0

    return new_int
print(reverse(array))

执行用时 48 ms
内存消耗 13.9 MB

m的n次方

1.以下是 math 模块 pow() 方法的语法:

import math
math.pow( x, y )

2.内置的 pow() 方法

pow(x, y[, z])

3.x**y

函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z

注意:pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。

整数(字符串)长度

字符串长度:len(str_num)

整数长度:len(str(num))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值