广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python3整数反转的实现方法
  • 487
分享到

python3整数反转的实现方法

2024-04-02 19:04:59 487人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0。

假设环境不允许存储 64 位整数(有符号或无符号)。

示例 1:

输入:x = 123
输出:321

示例 2:

输入:x = -123
输出:-321

示例 3:

输入:x = 120
输出:21

示例 4:

输入:x = 0
输出:0

思路1:将其转为字符串进行翻转,并进行正负的判断。最后,题目要求如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0


class Solution:
  def reverse(self, x: int) -> int:
    str1 = str(x)
    
    if str1[0] == '-':
      str1 = str1[0] + str1[:0:-1]
    else:
      str1 = str1[::-1]
    return int(str1) if -2147483648<int(str1)<2147483648 else 0

思路2:不使用字符串。当翻转后的数字大于条件就返回0


class Solution:
  def reverse(self, x: int) -> int:
 y, res = abs(x), 0
    # 则其数值范围为 [−2^31, 2^31 − 1]
    boundry = (1<<31) -1 if x>0 else 1<<31
    while y != 0:
      res = res*10 +y%10
      if res > boundry :
        return 0
      y //=10
    return res if x >0 else -res

改进:


class Solution:
  def reverse(self, x: int) -> int:
    str1 = str(x)
    
    if str1[0] == '-':
      str1 = str1[0] + str1[:0:-1]
      a=int(str1)
      if (1<<31)<abs(a):
        return 0
    else:
      str1 = str1[::-1]
      a= int(str1)
      if a>(1<<31) -1:
        return 0
    return a 

补充:问:说说python反转三位整数有几种方法?

答:这是LeetCode上的一道编程算法题,感觉还是蛮经典的,今天就拿出来给大家分享一下!给出一个3位的正整数,你需要将这个整数中每位上的数字进行反转。例如:输入: 123,输出: 321 。大家先不看下面答案,看看如果是自己,可以想出几种Python方式来解决!

下面分别来说说几种实现的方式:

1、取余取整方式


class Test:
  def reverseInteger(self, number):
    g = number%10     #取出个位数
    s = (int(number/10))%10  #取出十位数
    b = int(number/100) #取出百位数
    return g*100+s*10+b
if __name__ == "__main__":
  ts = Test()
  print (ts.reverseInteger(123)) #输出结果:321

2、使用栈的方式


class Test:
  def reverseInteger(self, number):
    number = str(number) # 模拟入栈
    l = list(number)
    result = ""
    while len(l) > 0:
      result += l.pop() # 模拟出栈
    return int(result)
if __name__ == "__main__":
  ts = Test()
  print (ts.reverseInteger(123)) # 输出结果:321

3、使用切片的方式


class Test:
  def reverseInteger(self, number):
    number=str(number)
    result=number[::-1] #python中切片的特殊用法
    result=(int(result))
    return result
if __name__ == "__main__":
  ts = Test()
  print (ts.reverseInteger(123))


4、整数转字符串,反转字符串,然后再转整数


class Test:
  def reverseInteger(self, x):
    plus_minus = ""
    reverse_x = ""
    if x < 0:
      plus_minus = "-"
      x = -x
    for i in str(x):
      reverse_x = i + reverse_x
    reverse_x = plus_minus + reverse_x
    if int(reverse_x) > pow(2, 31) - 1 or int(reverse_x) < pow(-2, 31):
      return 0
    return int(reverse_x)
 
if __name__ == "__main__":
  ts = Test()
  print (ts.reverseInteger(123)) #输出结果:321

到此这篇关于python3整数反转的实现方法的文章就介绍到这了,更多相关python3 整数反转内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python3整数反转的实现方法

本文链接: https://www.lsjlt.com/news/122721.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python3整数反转的实现方法
    给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1...
    99+
    2022-11-12
  • java实现整数反转
    一、将 int 整数通过 String 转换,溢出捕获 class Solution { public int reverse(int x) { long nums = 0; int temp...
    99+
    2015-01-22
    java入门 java 实现 整数 反转
  • golang反转整数(二种方法)
    Golang是一种高效、现代化的编程语言,其在处理数字反转方面具有独特的优势。本文将为您介绍Golang中反转整数的方法和实现。Golang反转整数的需求在编程实践中,我们经常需要对整数进行反转。例如,当我们需要把一个数字12345反转成5...
    99+
    2023-05-14
  • php整数反转怎么实现
    本文操作环境:Windows7系统、PHP7.1、Dell G3。php整数反转怎么实现?PHP算法之整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: ...
    99+
    2015-11-02
    php
  • python简单实现整数反转的画解算法
    题目描述 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 −...
    99+
    2022-11-12
  • python整数反转输出的方法是什么
    可以使用以下方法来反转整数:1. 将整数转换为字符串,然后使用字符串的切片操作[::-1]来进行反转,最后再将反转后的字符串转换回整...
    99+
    2023-10-18
    python
  • C++实现LeetCode翻转整数的方法
    这篇文章主要介绍“C++实现LeetCode翻转整数的方法”,在日常操作中,相信很多人在C++实现LeetCode翻转整数的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++实现LeetCode翻转整数...
    99+
    2023-06-20
  • php整数反转该怎么实现
    这篇文章将为大家详细讲解有关php整数反转该怎么实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。php实现整数反转的方法:1、创建一个PHP示例文件;2、通过“function rever...
    99+
    2023-06-21
  • python反转一个三位整数的多种实现方案
    在LintCode上练习遇到这个问题,查阅资料找到多种方法,总结如下。 输入 输出 123 ...
    99+
    2022-11-11
  • python3 实现除法结果为整数
    问题描述 101/100,想要的结果是1,但是算出来的结果是1.01 解决方案 101 // 100 结果图 补充:python2 与 3:一般除法、除法取整、除法取余、精确减...
    99+
    2022-11-11
  • Python3实现旋转数组的3种算法
    下面是python3实现的旋转数组的3种算法。一、题目给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。例如:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步:...
    99+
    2023-01-31
    数组 算法
  • PHP实现字符串反转的方法
    小编给大家分享一下PHP实现字符串反转的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!PHP实现字符串反转的方法:1、通过php自带的strrev函数实现反转...
    99+
    2023-06-08
  • python3如何实现除法结果为整数
    这篇文章主要介绍了python3如何实现除法结果为整数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。问题描述101/100,想要的结果是1,但是算出来的结果是1.01解决方案...
    99+
    2023-06-14
  • C++实现反转链表的两种方法
    目录一.使用vector容器二.调整指针法大家好,今天和大家分享的是反转链表的两种方法,第一种是用泛型编程里面的STL,第二种是利用多个指针进行操作,小孩子才做选择,建议两个都学。我...
    99+
    2023-02-09
    C++ 反转链表
  • Python 实现反转整数的案例(很容易懂的那种)
    题目: 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1:   输入: 123   输出: 321    示例 2:   输入: -123  ...
    99+
    2022-11-11
  • Python实现链表反转的方法是什么
    本篇内容主要讲解“Python实现链表反转的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python实现链表反转的方法是什么”吧!Python实现链表反转链表反转(while迭代实现...
    99+
    2023-06-02
  • Python实现字符串反转的6种方法
    1.使用字符串切片 >>> s = "python">>> s[::-1]'nohtyp'>>> 2.使用列表的reverse方法 >>> s = "python">>> lst = list(s)>...
    99+
    2023-09-25
    python 开发语言
  • javascript将小数转成整数的方法
    这篇文章给大家分享的是有关javascript将小数转成整数的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。javascript将小数转成整数的方法:首先新建文件,并使用input标签创建数字输入框;然后设置...
    99+
    2023-06-14
  • python3翻转字符串里的单词点的实现方法
    给定一个字符串,逐个翻转字符串中的每个单词。 说明: 无空格字符构成一个 单词 。 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 如果两个单词间有多余的空格...
    99+
    2022-11-12
  • JAVA多种方法实现字符串反转
    本人自己思考+网络搜罗,分类整理了以下4类9种方法: A类:使用JAVA原生方法 -A1:使用StringBuffer的reverse方法 -A2:使用StringBuilder的r...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作