Q7 Reverse Integer

Given a 32-bit signed integer, reverse digits of an integer.

Example 1:
Input: 123
Output:  321
Example 2:
Input: -123
Output: -321
Example 3:
Input: 120
Output: 21

Note: Assume we are dealing with an environment which could only hold integers within the 32-bit signed integer range. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

解题思路:

将整数转化为字符串,处理完后转化为整数

注意点:

原数字和转化后的数字都不能溢出

Python实现:
class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        min = -2**31
        max = 2**31 - 1
        if  x < min or x > max or x == 0:  # 0 不用反转
            return 0
        if x > 0:
            rev = int(str(x)[::-1])  # [::-1]字符串反转
        else:
            rev = -int(str(x)[1:][::-1])
        if rev < min or rev > max:  # 反转后的数字溢出
            return 0
        return rev

a = 1023456789
b = Solution()
print(b.reverse(a))  # 转化后的数字溢出,返回0

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏深度学习与计算机视觉

算法-数字在排序数组中出现的次数

题目: 统计一个数字在排序数组中出现的次数,比如排序数组为{1,2,3,3,3,4,5},那么数字3出现的次数就是3。 解题思路: 1.首先,遍历数组肯...

21250
来自专栏Ryan Miao

java中List对象列表去重或取出以及排序

面试碰到几次list的去重和排序。下面介绍一种做法: 1. list去重 1.1 实体类Student List<Student>容量10k以上,要求去重复。这...

85690
来自专栏Java帮帮-微信公众号-技术文章全总结

Java基础(02)-15总结对象数组,集合Collection,集合List

3:集合(List)(掌握) (1)List是Collection的子接口 特点:有序(存储顺序和取出顺序一致),可重复。 package cn.itcas...

33850
来自专栏用户3030674的专栏

java集合框架(hashSet自定义元素是否相同,重写hashCode和equals方法)

/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不一致,元素不可以重复 * (通过哈希值来判断是否是同一个对象) * ---...

17920
来自专栏一个会写诗的程序员的博客

第7章 集合类第7章 集合类

在 Java 类库中有一套相当完整的容器集合类来持有对象。Kotlin没有去重复造轮子(Scala则是自己实现了一套集合类框架),而是在Java 类库的基础上进...

8720
来自专栏文武兼修ing——机器学习与IC设计

抽象数据结构与表抽象数据结构表

抽象数据结构 抽象数据结构(ADT)是一些操作的集合,集合了一些必要且重用性高的操作,这些操作在一个项目中只被编写一次。抽象数据结构只定义操作的存在,并不定义操...

29860
来自专栏芋道源码1024

ArrayList 其实也有双胞胎,但区别还是挺大的!

这句话的意思是Collection集合类型的toArray()方法虽然声明返回值类型是Object[],但是具体调用时还真不一定就返回Onject[]类型,也有...

13240
来自专栏青玉伏案

JavaSE高级之集合类

​下面的内容是对java中的集合类进行的总结,过段时间会分享java的网路编程,多线程等内容,欢迎批评指正。 1.Java中的集合是用来存放对象的,即集合是对象...

24690
来自专栏郭耀华‘s Blog

剑指offer第五天

28.数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2...

27750
来自专栏Duncan's Blog

四则运算表达式求值

15520

扫码关注云+社区

领取腾讯云代金券