反转整数(Python实现)很容易懂的那种

题目:

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

  示例 1:

  输入: 123
  输出: 321
   示例 2:

  输入: -123
  输出: -321
  示例 3:

  输入: 120
  输出: 21
注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31,  2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer

解题思路:1.实现数据的反转如果是正数:tra = 0while x != 0:
  n2 = x%10  x = x //10  tra = tra*10 + n2如果是负数就abs()一下这个数2.溢出判定给出范围[−2^31,  2^31 − 1]则输出的结果tra就必须满足这个范围.代码:

class Solution(object):    def reverse(self, x):        base = 1        for i in range(31):            base = base * 2        two_Max = base - 1        two_Min = -base        tra = 0        if x < 0:            x = abs(x)            while x != 0:                n2 = x % 10                if tra > abs(two_Min) // 10 or (tra == abs(two_Min) // 10 and n2 < -8):                    return 0                x = x // 10                tra = tra * 10 + n2            return -tra        else:            while x != 0:                n2 = x % 10                if tra > two_Max//10 or (tra == two_Max and n2 > 7 ):                    return  0                x = x // 10                tra = tra * 10 + n2            return tra

原文地址:https://www.cnblogs.com/justkeep/p/11385721.html

时间: 2024-10-19 10:31:36

反转整数(Python实现)很容易懂的那种的相关文章

关于反转整数

在leetcode上就见了这题: 经典的反转整数,遇见过很多次了,本以为很简单,分分钟码出来,结果却大失所望,哎,看来以后还是得多想想特殊情况呀~~ 不多说,先把坑挖出来,一共两个坑: 1.反转后可能溢出,此时应该返回0: 2.关于尾数为0时,应舍去: 由于采用数学方法获取各位数,并非用文本反转,所以坑2就不用考虑了, 关键是坑1,如何判别溢出呢?可以通过获取INT_MAX和INT_MIN来辅助,由于是乘法溢出,故采用将最值除上相应值,这样避免判断最值情况. 一切尽在代码中: class Sol

leetcode——Reverse Integer 反转整数数字(AC)

Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 这个题比较简单,考虑特殊情况如12000,注意检查反转后数字是否会越界溢出.代码如下: class Solution { public: int reverse(int x) { bool minus = false; short int splitNum[10]; int i = 0, j = 0; unsign

(转)python下很帅气的爬虫包 - Beautiful Soup 示例

官方文档地址:http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html Beautiful Soup 相比其他的html解析有个非常重要的优势.html会被拆解为对象处理.全篇转化为字典和数组. 相比正则解析的爬虫,省略了学习正则的高成本. 相比xpath爬虫的解析,同样节约学习时间成本.虽然xpath已经简单点了.(爬虫框架Scrapy就是使用xpath) 安装 linux下可以执行 [plain] view plai

【0031】反转整数/判断回文

Reverse Integer 反转一个整数 C++ Code 1234567891011121314151617181920212223242526272829303132   class Solution{public:    int reverse(int x)    {        /*一位数的情况*/        if(-10 < x && x < 10)        {            return x;        } /*记录负数情况,负数转换成正

记录一个python里面很神奇的操作,对一个包含列表的元组进行增量赋值,成功赋值但还报错

记录一个python里面很神奇的操作 今天记录一个很神奇的操作.关于序列的增量赋值.如果你很熟悉增量赋值,你也不妨看下去,我想说的是有关于增量赋值和元组之间一种神奇的操作.来自 <流畅的Python> 一书,让我们更加深入地了解里面的原理 神奇的操作 >>>t = (1,2,[30,40]) >>>t[2] += [50,60] 上面这段代码会出现什么样的情况 a. t会变成(1,2,[30,40,50,60]) b. 因为tuple不支持对它的元素赋值,所

建筑施工图很难看懂吗?工作了二十年的设计师教教你看懂设计图纸!

很多刚刚开始接触CAD的小伙伴对于建筑图纸真的是很恐惧,可谓是望图生畏!很多人都觉得建筑施工图很难看懂,其实这都需要讲究方法的,拿到图纸后不是说想看什么就看什么,而是按顺序的.建筑施工图很难看懂吗?工作了二十年的设计师教教你看懂设计图纸!接下来,老师傅教你看图技巧,让你轻松识图. 一.识图基本方法 1.建筑施工图的平面.立面和剖面是运用三面正投影的成图原理, 按照制图统一标准来绘制的,因此也要按投影原理和制图标准来识读. 2.一整套施工图是表示并说明一栋建筑物的各层之间的关系, 因此要互相对照阅

Leetcode 7.反转整数 By Python

思路 python提供了方便的字符串反转方法,所以还是蛮简单的这题 注意几个坑: 0结尾的数字反转后要去除 0-9的数字不存在反转问题,直接输出就好了 代码 class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ s = str(x) if s[0] == '-': num = s[1:].lstrip('0') x = -int(num[::-

Python入门你要懂哪些?

前言 什么是计算机语言 计算机就是一台用来计算的机器,人让计算机干什么计算机就得干什么! 需要通过计算机的语言来控制计算机(也就是编程语言)! 计算机语言其实和人类的语言没有本质的区别,不同点就是交流的主体不同!计算机语言发展经历了三个阶段: 1). 机器语言 机器语言通过二进制编码来编写程序 执行效率好,编写起来太麻烦 2). 符号语言(汇编) 使用符号来代替机器码 编写程序时,不需要使用二进制, 而是直接编写符号 编写完成后,需要将符号转换为机器码,然后再由计算机执行符号转换为机器码的过程称

leetcode刷题日记——反转整数

给定一个 32 位有符号整数,将整数中的数字进行反转. 这里考虑,交换时,需要注意位数不同,需要乘上对应的位数,代码如下: int reverse(int x) { int result = 0; while(x != 0) { int tmp = result * 10 + x % 10; //转换的中间值 x = x / 10; //每循环一次,x位数减少一位 if(tmp / 10 != result) //验证数据是否正确 { result = 0; break; } result =