0007-Reverse Integer
Posted 周先森爱吃素
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0007-Reverse Integer相关的知识,希望对你有一定的参考价值。
这个系列算是出于个人兴趣开的一个新坑吧,最近看到同学刷LeetCode算法题,就想写写那些可以一行Python代码写出来的题目,因此本专栏的文章的解题方式效率不做保证,只为追求“一行的浪漫”。
题目
题解
简单解释一下题目,给定一个32位的数字x
,将其反转,如123变为321,210变为12。如果翻转后的数字超过符号32位整型的范围,则输出0。本题难度为Easy。
代码
这题为了单行写成,这里的思路是转为无符号字符串之后逆序然后再转为int型,这里为了节省计算,采用了海象运算符。实际上这题效率较高的思路应该采用栈来实现,具体可以参考官网的题解。代码如下。
class Solution:
def reverse(self, x: int) -> int:
return rst if (rst := (1 if x > 0 else -1) * int(str(abs(x))[::-1])) >=-2**31 and rst <=2**31-1 else 0
提交的反馈如下。
以上是关于0007-Reverse Integer的主要内容,如果未能解决你的问题,请参考以下文章