【LeetCode题解-007】Reverse Integer

今日金句

发表于苍穹盛夏

查看:13500回复:135

知识最大的敌人不是无知,而是错觉。 - 史蒂芬霍金

友情提醒:

大家好,国庆节快乐呀!假期第一天,不管是出门游玩,还是宅在家,都希望你们过得开心。但要想不虚度这美好假期生活,也可以选择看书、学习新技能来提升自己,充实自己。假期是超越对手的好机会,大家可以试试看。

今天的题目很简单,毕竟大过节的,也不能太放肆,不能太为难自己。

另外,手机预览代码格式不佳的用户可以点击文章底部查看原文

最后愿你们能静心享受生活,学习提升自己,没有辜负大好时光。

1

题目

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

Example 1:

Input:123Output:321

Example 2:

Input:-123Output:-321

Example 3:

Input:120Output:21

Note:

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

2

词汇学习

环境目的

3

惊人而又蹩脚的中文翻译

数字转置,就是把一个整数顺序颠倒,要注意越界

4

代码实现-Java

1

解法一

转换成字符串,然后进行字符串转置,可以利用字符数组进行,也可利用StringBuffer 的 reverse()方法

这个题主要的考察点在于数值越界的判断上 真正的转置过程其实并不难

02

解法2

使用数学知识来解决,通过不断 /10 和 %10 的方式来解决这个问题

5

代码实现-Python

1

解法一

同java版本解法二一样,循环通过对10取模得到尾部数字,一步步乘10构造新的翻转后的整数即可。

但是要注意首先判断数值的正负,最后还要判断结果是否溢出。

02

解法二

利用Python的字符串反转操作来实现对整数的反转,反转后的字符串要重新转换为整数。同样的道理,要注意正负和溢出情况。

以上代码会同步更新在本人的Github和CSDN上

Github地址:https://github.com/Bylant/LeetCode

CSDN地址:https://blog.csdn.net/ZBylant

转载是一种动力 分享是一种美德

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181002G194T800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券