前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【LeetCode13】整数反转

【LeetCode13】整数反转

作者头像
Sam Gor
发布2019-07-08 15:20:26
4790
发布2019-07-08 15:20:26
举报
文章被收录于专栏:SAMshare
今日挑战

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123输出: 321

示例 2:

输入: -123输出: -321

示例 3:

输入: 120输出: 21

注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

先思考一下,后面我会给出一个解题思路~?

这道题主要考察的是数字反转以及边界处理,而我们可能对字符串的反转更加熟悉,所以我们可以先把数字转出字符串,主要思路如下:

1 )用flag记录下数字的符号,并将数字取绝对值,使用str转换为字符串;

2 )利用str[::-1]对字符串进行反转,并用int转回数字,乘以flag得到结果;

3 )做好结果的边界处理,如果溢出,返回0。

Python实现:

代码语言:javascript
复制
def reverse(x):
    flag = -1 if x < 0  else 1
    res = flag * int(str(abs(x))[::-1])
    return res if (-2**31)<=res<=(2**31-1) else 0
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SAMshare 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档