Leetcode(6)Z字型変換
【トピック表さ]:
32ビット符号付き整数を与え、あなたはそれぞれ逆に、この整数値を必要とします。
まず:文字列処理へ
ときに実行:40ミリ秒、メモリ消費量:11.6メガバイト効果:良いです
class Solution(object):
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
if x>=0:
r=str(x)
r=r[::-1]
n=int(r)
else:
r=str(-x)
r=r[::-1]
n=-(int(r))
if x>(2**31-1) or x<(-2)**31:
return 0
return n
ラーニング
- 文字列 - デジタル純粋にデジタルであることをしている、署名されていません
- 内蔵パワー動作:**
第二の方法:転送リスト処理
ときに実行:40ミリ秒、メモリ消費量:11.6メガバイト効果:良いです
class Solution:
def reverse(self, x: int) -> int:
s = ''
s = s.join(i for i in str(x))
if s[0] == '-':
s = s[1:] + '-'
return int(s[::-1]) if -2**31<int(s[::-1])<2**31-1 else 0
ラーニング
かかわらず、それは純粋なデジタルであるかどうかのリスト処理
あまり熟練if式
[ '' 範囲のX(numRowsの数)のために] '' .join(L)
第三の方法:シフト操作
ときに実行:56ミリ、メモリ消費量:11.6メガバイト効果:OK
class Solution:
def reverse(self, x: int) -> int:
a = str(x)
if(x >= 0):
m = int(a[::-1])
return m if m <= ((1<<31)-1) else 0
else:
n = -int(a[:0:-1])
return n if n >= (-(1<<31)) else 0
ラーニング
- 代わりに、シフトの**