একটি ৩২-বিট সাইনড ইন্টিজার দেওয়া থাকে। এর ডিজিটগুলো রিভার্স করতে হবে। নেগেটিভ হলে সাইন রেখে ডিজিট রিভার্স। ৩২-বিট রেঞ্জ বাইরে হলে ০ রিটার্ন।
সমাধানের পদ্ধতি
- সংখ্যাকে স্ট্রিংে রূপান্তর করুন।
- যদি প্রথম ক্যারেক্টার
'-'হয়, বাকি পার্ট রিভার্স করে সাইন যোগ করুন। - অন্যথায় পুরো স্ট্রিং রিভার্স করুন।
- ইন্টিজারে কনভার্ট করে ৩২-বিট রেঞ্জ চেক করুন।
উদাহরণ কোড
class Solution(object):
def reverse(self, x):
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