मान लीजिए हमारे पास वर्णों की एक सरणी है। हमें बिना किसी अतिरिक्त स्थान का उपयोग किए स्ट्रिंग को उल्टा करना है। यदि स्ट्रिंग ['H', 'E', 'L', 'L', 'O'] जैसी है, तो आउटपुट ['O', 'L', 'L', 'E', 'H'] होगा।
इसे हल करने के लिए हम इन चरणों का पालन करेंगे:
- दो पॉइंटर्स लें start = 0 और end = स्ट्रिंग की लंबाई - 1
- पहले और अंतिम वर्णों को स्वैप करें
- start को 1 से बढ़ाएं और end को 1 से घटाएं
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
class Solution(object):
def reverseString(self, s):
"""
:type s: List[str]
:rtype: None Do not return anything, modify s in-place instead.
"""
start = 0
end = len(s)-1
while start<end:
s[start],s[end] = s[end],s[start]
start+=1
end-=1
string_1 = ["H","E","L","L","O"]
ob1 = Solution()
ob1.reverseString(string_1)
print(string_1)
इनपुट
String = ["H","E","L","L","O"]
आउटपुट
["O","L","L","E","H"]