欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python学习日记——整数反转

程序员文章站 2023-01-25 16:35:11
Python—整数反转Python小白学习日记##三位整数反转对于位数较少的整数,我们可以通过取余数等方法依次取它的个位、十位、百位上的数字,然后将这三个数字倒序排列即可得到想要的结果。class Solution: def reverse(self, x: int) -> int: if x > 0: a = x % 10 #得到个位数 b = (x // 10) % 10 #得到十...

Python学习日记001—整数反转

题目来源:LeetCode题库——整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
注:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
Example1:
输入:123
输出:321
Example2:
输入:-123
输出:-321
链接:https://leetcode-cn.com/problems/reverse-integer/

三位整数反转

对于位数较少的整数,我们可以通过取余数等方法依次取它的个位、十位、百位上的数字,然后将这三个数字倒序排列即可得到想要的结果。

class Solution:
    def reverse(self, x: int) -> int:
            if x > 0:
                a = x % 10   #得到个位数
                b = (x // 10) % 10   #得到十位数
                c = x // 100   #得到百位数
                reverse_number = int(str(a) + str(b) + str(c))   #位数反转
                return reverse_number
            else:
                abs_x = abs(x)    #将负数取绝对值按正数处理
                a = abs_x % 10
                b = (abs_x // 10) % 10
                c = abs_x // 100
                reverse_number_positive = int(str(a) + str(b) + str(c))
                reverse_number = -1 * reverse_number_positive   #正数转为负数
                return reverse_number

32位以内整数反转

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231 − 1]。反转后整数溢出那么就返回 0。
对于位数较多的整数,如果像上述方法依次取出每位数字然后倒置排序,显然不可取。因此需要考虑一种在取数的同时便可以将数字倒置排序的方法。

cclass Solution:
    def reverse(self, x: int) -> int:
        reverse_number = 0
        if x >= 0:
            while x != 0:
                reverse_number = reverse_number * 10 + x % 10     #每一步中,通过x%10可得到原数字的最后一位数字,通过reverse_number*10可达到数字反转的目的
                x = x // 10    #每次通过x // 10 可达到略去最后一位的目的
        else:
            x = -x    #将负数变为正数处理
            while x !=0:
                reverse_number = reverse_number * 10 + x % 10
                x = x // 10
            reverse_number = -reverse_number     #再将正数转为负数
        if reverse_number < -1*2**31 or reverse_number > 2**31-1:   #超出规定值范围,将溢出,返回值为0
            return 0
        return reverse_number

学习过程中,欢迎指正。

本文地址:https://blog.csdn.net/weixin_43872060/article/details/107565574

相关标签: python