python实现leetcode算法题库-reverseInteger-反转整数(7)

2021/4/15 22:25:25

本文主要是介绍python实现leetcode算法题库-reverseInteger-反转整数(7),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ,就返回 0。

假设环境不允许存储 64 位整数(有符号或无符号)。

示例 1:

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

输入:x = -123
输出:-321

代码实现:

class Solution:
    """version 1.0,int>str>list,通过列表的pop/append方法实现反转, list>str>int"""
    def reverse(self, x: int) -> int:
        if x > 2 ** 31 - 1 or x < -2 ** 31 or x == 0:
            return 0

        def _reverse(x):
            x_str = str(x)
            x_list = list(x_str)
            new_x_list = []
            for i in range(len(x_list)):
                temp = x_list.pop()
                new_x_list.append(temp)
            new_x_str = ''.join(new_x_list)
            return new_x_str

        if x > 0:
            return int(_reverse(x))
        elif x < 0:
            x = -x
            x_str = '-' + _reverse(x)
            return int(x_str)

if __name__ == "__main__":
    x0 = 2548795355665448
    x1 = -2875254
    reverse_ = Solution()
    res = reverse_.reverse(x0)
    print(res)

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。



这篇关于python实现leetcode算法题库-reverseInteger-反转整数(7)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程