python反转一个整数、123变成321_python整数反转算法
題目描述:
給出一個(gè) 32 位的有符號整數(shù),你需要將這個(gè)整數(shù)中每位上的數(shù)字進(jìn)行反轉(zhuǎn)。
示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:
假設(shè)我們的環(huán)境只能存儲得下 32 位的有符號整數(shù),則其數(shù)值范圍為 [?231, 231 ? 1]。請根據(jù)這個(gè)假設(shè),如果反轉(zhuǎn)后整數(shù)溢出那么就返回 0。
解題思路:
將int型數(shù)字轉(zhuǎn)換成 String 然后利用 字符串反轉(zhuǎn)后再轉(zhuǎn)回?cái)?shù)字即可
注意:
1、正負(fù)號
2、越界判斷 字符串轉(zhuǎn)數(shù)字時(shí)最好轉(zhuǎn)成 不會越界的long型
代碼
class Solution(object):
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
if x == 0:
return 0
x_abs = abs(x)
x_str = str(x_abs)
x_rev_str = x_str[::-1]#翻轉(zhuǎn)
x_rev = long(x_rev_str)
Max = pow(2,31)
if x>0 : #正數(shù)
if x_rev>Max : #越界
return 0
else :
return x_rev
else : #負(fù)數(shù)
if x_rev>Max-1 : #越界
return 0
else :
return x_rev*-1
本文地址:https://blog.csdn.net/cyl_csdn_1/article/details/108869337
如您對本文有疑問或者有任何想說的,請點(diǎn)擊進(jìn)行留言回復(fù),萬千網(wǎng)友為您解惑!
總結(jié)
以上是生活随笔為你收集整理的python反转一个整数、123变成321_python整数反转算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vivov3怎么设置双卡(vivov3m
- 下一篇: python开源流程图软件_Dia