数据结构和算法分析算法提高之LeetCode刷题

整数反转

2020-03-01  本文已影响0人  _阿南_

题目:

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
 示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

题目的理解:

将整数转化为字符串,然后将字符串的每一个字符存入数组,翻转数组后转化为字符串,然后再转化为整数。

python实现

class Solution:
    def reverse(self, x: int) -> int:
        minus = True if x < 0 else False
        result = str(abs(x))
        result_arr = list()
        for character in result:
            result_arr.append(character)

        result_arr.reverse()
        result_reverse = ''.join(result_arr)
        result_num = int(result_reverse)

        if minus:
            if -result_num < -2**31:
                return 0

            return -result_num

        if result_num > (2**31 - 1):
            return 0

        return result_num

提交

成功

感觉写的有点啰嗦了

// END 明天开工的人好多啊,我们公司还没有想法!_!

上一篇 下一篇

猜你喜欢

热点阅读