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的主要内容,如果未能解决你的问题,请参考以下文章

有人可以解释以下 R 代码片段吗? [关闭]

片段中gridview的Android文本和图像适配器

20个非常有用的Java程序片段

基于时间复杂度的这些片段真的很困惑

Java程序片段

包含不同片段的HashMap(或ArrayList)