婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python3整數反轉的實現方法

python3整數反轉的實現方法

熱門標簽:原裝電話機器人 平頂山外呼系統免費 清遠360地圖標注方法 工廠智能電話機器人 千陽自動外呼系統 400電話申請服務商選什么 西藏智能外呼系統五星服務 江蘇客服外呼系統廠家 在哪里辦理400電話號碼

給你一個 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 -2147483648int(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 = (131) -1 if x>0 else 131
    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 (131)abs(a):
        return 0
    else:
      str1 = str1[::-1]
      a= int(str1)
      if a>(131) -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 整數反轉內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python 實現反轉整數的案例(很容易懂的那種)
  • python反轉(逆序)字符串的6種方法詳細
  • python反轉列表的三種方式解析
  • python對數組進行反轉的方法
  • python算法題 鏈表反轉詳解
  • python簡單實現整數反轉的畫解算法

標簽:安慶 日照 隨州 西安 白城 股票 錦州 天水

巨人網絡通訊聲明:本文標題《python3整數反轉的實現方法》,本文關鍵詞  python3,整數,反轉,的,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python3整數反轉的實現方法》相關的同類信息!
  • 本頁收集關于python3整數反轉的實現方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 莱西市| 衡水市| 武冈市| 正镶白旗| 和政县| 兴城市| 分宜县| 新源县| 饶河县| 弥渡县| 陈巴尔虎旗| 招远市| 石泉县| 张家口市| 监利县| 鹿邑县| 大兴区| 定西市| 曲阳县| 本溪市| 张家口市| 甘德县| 迭部县| 浏阳市| 内乡县| 若羌县| 大同县| 得荣县| 河北省| 丹阳市| 积石山| 达州市| 西盟| 凉山| 常州市| 阳城县| 万全县| 大姚县| 八宿县| 塔河县| 乌鲁木齐县|