สมมติว่าเรามีจำนวนเต็มที่มีเครื่องหมาย 32-bit เราต้องรับตัวเลขและกลับหลักตัวเลข เช่นถ้าตัวเลขเป็น 425 ผลลัพธ์จะเป็น 524 สิ่งหนึ่งที่ต้องจำคือตัวเลขมีเครื่องหมาย ดังนั้นอาจมีตัวเลขลบ เช่นถ้าตัวเลขคือ -425 จะเป็น -524
ที่นี่เรามีสมมติฐานบางอย่าง เราสมมติว่าเราอยู่ในโดเมนของจำนวนเต็มที่มีเครื่องหมาย 32-bit ดังนั้นช่วงจะเป็น [-2^31 ถึง 2^31 - 1] ถ้าตัวเลขไม่อยู่ในช่วง ฟังก์ชันจะคืนค่า 0
ในการแก้ปัญหานี้ เราจะใช้โค้ด Python ตอนแรกเราจะแปลงจำนวนเต็มที่กำหนดเป็นสตริง ถ้าตัวอักษรแรกในสตริงคือ '-' แสดงว่าตัวเลขเป็นลบ ให้กลับจากดัชนี 1 ถึง ความยาว - 1 และสุดท้ายแปลงเป็นจำนวนเต็มก่อนคืนค่า สำหรับตัวเลขบวก เพียงแค่กลับสตริงและทำให้เป็นจำนวนเต็มก่อนคืนค่า ในทุกกรณีเราจะตรวจสอบว่าตัวเลขอยู่ในช่วงของจำนวนเต็ม 32-bit หรือไม่ ถ้าเกินช่วง ให้คืนค่า 0
ตัวอย่าง
class Solution(object):
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
x = str(x)
if x[0] == '-':
a = int('-' + x[-1:0:-1])
if a >= -2147483648 and a <= 2147483647:
return a
else:
return 0
else:
a = int(x[::-1])
if a >= -2147483648 and a <= 2147483647:
return a
else:
return 0
ob1 = Solution()
print(ob1.reverse(-425))
อินพุต
print(ob1.reverse(-425))
เอาต์พุต
-524