【一天一道Leetcode】整数反转
看那个码农
共 1472字,需浏览 3分钟
·
2021-03-26 19:41
本篇推文共计2000个字,阅读时间约3分钟。
01
题目描述
题目描述:
给你一个32位的有符号整数x,
返回将x中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围
[−2^31,(2^31)−1],就返回0。
假设环境不允许存储64位整数(有符号或无符号)。
如下面的示例:
输入:x = 123
输出:321
输入:x = -123
输出:-321
输入:x = 120
输出:21
输入:x = 0
输出:0
提示:
1. −2^31<=x<=(2^31)−1
02
方法和思路
我们注意题目中的条件,
如果反转后整数超过32位的有符号整数的范围,
[−2^31,2^31− 1],就返回0。
根据本题的示例所知道:
正数会直接进行反转,
负数需要保存好符号再反转。
因此我们可以将要反转的数转换成字符串,
判断第一个字符串是否“-”。
若不为-,则直接进行反转,
若为-,则保存当前符号,反转后面的数字。
我们用代码表示此题的解法如下:
class Solution:
def reverse(self, x: int) -> int:
s=str(x)
if s[0]=='-':
x=int('-'+s[1:][::-1])
else:
x=int(s[::-1])
if -2**31< x <(2**31-1):
return x
else:
return 0
【年终总结】你好2021,再见2020。
【快速写好毕业论文】你不得不知晓的七个常用文献搜索平台
【秋招纪实录】一篇特别正经的【腾讯】求职经验分享
【一天一道Leetcode】回文字符串-最少分割次数
【一天一道Leetcode】杨辉三角
【一天一道Leetcode】套信封问题
你与世界
只差一个
公众号
评论