मान लीजिए कि हमारे पास एक 32-बिट हस्ताक्षरित पूर्णांक संख्या है। हमें संख्या लेनी है और अंकों को उलटना है। तो अगर संख्या 425 की तरह है, तो आउटपुट 524 होगा। एक और बात हमें ध्यान में रखनी होगी कि संख्या हस्ताक्षरित है, इसलिए कुछ नकारात्मक संख्याएं हो सकती हैं। तो अगर संख्या -425 है, तो यह -524 होगी।
यहां हमारे पास कुछ धारणाएं हैं। हमने मान लिया है कि हम 32-बिट हस्ताक्षरित पूर्णांक के डोमेन में उपयोग कर रहे हैं। तो परिसर [-232 से 232 - 1] होगा। इसलिए यदि संख्या सीमा में नहीं है, तो फ़ंक्शन 0 पर वापस आ जाएगा।
इसे हल करने के लिए, हम Python Code का उपयोग करेंगे। सबसे पहले हम दिए गए पूर्णांक को स्ट्रिंग में बदल देंगे। इसलिए यदि स्ट्रिंग में पहला वर्ण '-' है, तो संख्या ऋणात्मक संख्या है, इसलिए अनुक्रमणिका 1 से अनुक्रमणिका लंबाई - 1 पर उल्टा करें। और अंत में इसे वापस करने से पहले पूर्णांक में परिवर्तित करें, सकारात्मक संख्या के लिए, बस स्ट्रिंग को उल्टा करें और लौटने से पहले इसे पूर्णांक बनाएं। प्रत्येक मामले में हम जांच करेंगे कि संख्या 32-बिट पूर्णांक की सीमा में है या नहीं। यदि यह सीमा से अधिक है, तो बस 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