博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
整数反转(Python,LeetCode)
阅读量:4189 次
发布时间:2019-05-26

本文共 1027 字,大约阅读时间需要 3 分钟。

目录


 

题目描述

给出一个32位的有符号整数,你需要将这个整数中每位上的数字反转。对于溢出32位的数字则返回0。

输入/输出描述

输入 321
输出 123

 

解决方案

题目较为简单,需要在两个地方注意:

  • 输入的数字可能是负数。负数反转后还是负数
  • 反转后的数字如果超出32位,则需要返回0

 

代码

class Solution:    def reverse(self, x: int) -> int:        positive = True        if x < 0:            positive = False            x = -x        x = int(str(x)[::-1])        if not positive:            x = -x        if self.out_of_range(x):            return 0        else:            return x    @staticmethod    def out_of_range(x: int) -> bool:        return x > 2 ** 31 - 1 or x < -2 ** 31

 

代码走读

class Solution:    def reverse(self, x: int) -> int:        # 先判断x正负性。记录后将x统一转换成正数(方便逆序)        positive = True        if x < 0:            positive = False            x = -x        # 逆序,再根据之前的正负性记录还原x        x = int(str(x)[::-1])        if not positive:            x = -x        # 判断x是否溢出32位        if self.out_of_range(x):            return 0        else:            return x    @staticmethod    def out_of_range(x: int) -> bool:        return x > 2 ** 31 - 1 or x < -2 ** 31

 

传送门

转载地址:http://fcsoi.baihongyu.com/

你可能感兴趣的文章
第2届中国机器博弈锦标赛
查看>>
原始的抽象
查看>>
万王之王 – 抽象
查看>>
4. Lambda Expressions (Lambda表达式)与Expressions Tree(表达式树)
查看>>
3. Extension Methods(扩展方法)
查看>>
排序算法之插入排序
查看>>
简体良葛格学习笔记
查看>>
面對技術...是熱情還是生活?
查看>>
網頁聊天室
查看>>
SAP--A List of BASIS Common Code
查看>>
FVWM
查看>>
《自己动手写操作系统》2006金秋读书季
查看>>
如何用摄像头来测距(opencv) - xylary专栏 - CSDNBlog
查看>>
关于DSP中全局变量与局部变量的使用
查看>>
《网络工程师考试题型精解与全真练习》堪误集
查看>>
商业模式重在简单和可操作性
查看>>
CSDN英雄会上会英雄
查看>>
调试技术能够让新技术的学习事半功倍
查看>>
系统集成项目招标要诀
查看>>
1.0.61.686 版发布
查看>>