LeetCode刷题

[LeetCode]7-反转整数

2018-10-12  本文已影响1人  杏仁小核桃

前言

本次所选题库为 腾讯 2018 秋招精选(50 题) 题库.
第一次刷题, 从简单题开始.
Python, 以刷题的方式熟悉Python.
示例代码均在LeetCode提交通过, 编译环境为 Python3.


7. 反转整数
给定一个 32 位有符号整数,将整数中的数字进行反转。
示例 1: 123 -> 321
示例 2: -123 -> -321
示例 3: 120 -> 21
注意:
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。

Python3 示例代码

class Solution:
    def reverse(self, x):
        minus = (x < 0)
        num = x
        if minus:
            num = x * (-1)
        num_unit = []
        while num > 0:
            unit = num % 10
            num_unit.append(unit)
            num = num // 10
            
        result = 0
        for i in range(0, len(num_unit)):
            result = result + num_unit[i] * 10 ** (len(num_unit) - 1 - i)
        if minus:
            result = result * (-1)
        
        if result > 2**31 -1 or result < -2 ** 31:
            return 0
        else:
            return result
上一篇 下一篇

猜你喜欢

热点阅读