मजकूर उलटणारा: मजकूर आणि अक्षरे तत्काळ उलटा करा
कोणताही मजकूर तत्काळ उलटण्यासाठी मोफत ऑनलाइन मजकूर उलटणारा साधन. अक्षरे उलटा करा, पालिंड्रोम तपासा आणि मागे मजकूर तयार करा. युनिकोड, इमोजी आणि सर्व भाषांसह काम करते.
मजकूर उलटवणी साधन
कोणताही मजकूर खाली टाइप किंवा पेस्ट करा आणि तत्काल अक्षर क्रम उलटा करा. टाइप करताना रिअल-टाइम मध्ये निकाल पहा.
साहित्यिकरण
टेक्स्ट इन्व्हर्टर टूल म्हणजे काय?
एक टेक्स्ट इन्व्हर्टर (रिव्हर्स टेक्स्ट टूल म्हणूनही ओळखला जातो) मजकुरातील अक्षरांचा क्रम उलटतो—"Hello World" ला "dlroW olleH" मध्ये बदलतो. हे पालिंड्रोम तपासण्यापासून ते डिझाइन कामासाठी मिरर मजकूर तयार करण्यापर्यंत अनेक कामांसाठी अненक्षीरपणे उपयोगी ठरते.
हे टूल रियल-टाइम काम करते: तुमचा मजकूर पेस्ट किंवा टाइप करा, आणि तो लगेच उलटा दिसेल. टेक्स्ट इन्व्हर्जन रोमांचक आहे कारण हे अगदी साधे आहे (फक्त मागून पुढे वाचा), तरीही हे प्रोग्रामिंग, एन्क्रिप्शन आणि मजकूर विश्लेषणात काही खरोखरच उपयोगी अनुप्रयोग सक्षम करते.
गोष्ट अशी आहे—मी डेव्हलपर्सना डीबगिंगसाठी, डिझाइनर्सना व्हिज्युअल इफेक्ट्ससाठी आणि शिक्षकांना स्ट्रिंग मॅनिपुलेशन शिकवण्यासाठी टेक्स्ट रिव्हर्सल वापरताना पाहिले आहे. एक सामान्य परिदृश्य म्हणजे जेव्हा तुम्ही पालिंड्रोम शोधण्याच्या अल्गोरिदमवर काम करत असता आणि परीक्षण प्रकरणांसह तुमचे तर्क लवकर सत्यापित करू इच्छिता.
टेक्स्ट इन्व्हर्टर कसा वापरायचा
या रिव्हर्स टेक्स्ट टूलचा वापर करणे तीन सोप्या पायऱ्यांमध्ये होते:
- आपला टेक्स्ट इनपुट फील्डमध्ये टाका—थेट टाइप करा किंवा क्लिपबोर्डवरून पेस्ट करा
- जादूचे पहा जसे उलटा टेक्स्ट लगेच खाली दिसेल (कोणतेही क्लिक करण्याची गरज नाही)
- निकाल कॉपी करा कॉपी बटणाचा एक क्लिक वापरून
टूल सर्व काही रीयल-टाइममध्ये प्रोसेस करते, याचा अर्थ आपण प्रयोग करू शकता आणि टाइप करताना निकाल पाहू शकता. कोणत्याही वर्णसंचासह काम करते—इंग्रजी, इमोजी, विशेष चिन्हे, जपानी किंवा अरबी सारख्या भाषांमधील युनिकोड वर्ण.
मजकूर उलटवण्याचे सूत्र आणि अल्गोरिदम
येथे मजकूर उलटवण्याचे गणितीय कार्य कसे होते ते दाखवले आहे. लांबीच्या स्ट्रिंगसाठी असलेल्या अक्षरांसह, उलटलेली स्ट्रिंग अशी असते:
व्यवहारात, प्रोग्रामर हे तीन मुख्य पद्धतींनी अमलात आणतात:
- अॅरे उलटवणे: स्ट्रिंगला अक्षरांमध्ये विभाजित करा, अॅरे उलटा, नंतर पुन्हा जोडा. सर्वात सोपी आणि वाचण्यास सोपी.
- दोन-पॉइंटर तंत्र: दोन्ही टोकांपासून सुरुवात करा, अक्षरे बदला आणि मध्यापर्यंत जा. जेव्हा थेट बदल शक्य असतो तेव्हा मेमरी-कार्यक्षम.
- स्टॅक-आधारित दृष्टिकोन: अक्षरे स्टॅकवर ठेवा (LIFO संरचना), नंतर त्यांना काढा. हे स्वाभाविकरित्या क्रम उलटते—आणि हे डेटा संरचनांसाठी एक उत्कृष्ट शिकवण्याचा उदाहरण आहे.
कार्यक्षमता वैशिष्ट्ये: मजकूर उलटवणे वेळ जटिलतेत (रेखीय) चालते कारण प्रत्येक अक्षर नेमके एकदाच प्रक्रिया केले जाते. स्पेस जटिलता देखील आहे कारण उलटलेली स्ट्रिंग साठवण्यास हवी. अधिकांश व्यावहारिक वापरांसाठी काही मेगाबाइट्सपेक्षा कमी मजकूरासाठी, कार्यक्षमता तात्काळ असते.
एक गोष्ट लक्षात ठेवण्यासारखी—जर तुम्ही विशाल मजकूर फाइल्स (जसे लॉग किंवा डेटासेट) उलटत असाल, तर एकाच वेळी सर्व मजकूर मेमरीमध्ये न टाकता स्ट्रीमिंग पद्धती विचारात घ्याव्या.
पाऊल-दर-पाऊल मजकूर उलटा करण्याची प्रक्रिया
मी तुम्हाला अचूक सांगतो की रिव्हर्सल अल्गोरिदम तुमचा मजकूर कसा प्रक्रिया करतो:
- रिकाम्या निकाल कंटेनरसह सुरुवात करा
- तुमच्या इनपुटच्या शेवटच्या अक्षरापासून मागे वाचा
- प्रत्येक अक्षर निकालात जोडत जा
- पहिल्या अक्षरापर्यंत पोहोचल्यावर थांबा
- पूर्ण उलटा केलेला स्ट्रिंग परत करा
व्यावहारिक उदाहरण "Hello, World!" सह:
1इनपुट: "Hello, World!"
2पाऊल १: रिकाम्या निकालासह सुरुवात: ""
3पाऊल २: शेवटचे अक्षर "!" → निकाल = "!"
4पाऊल ३: "d" घ्या → निकाल = "!d"
5पाऊल ४: "l" घ्या → निकाल = "!dl"
6पाऊल ५: प्रत्येक अक्षरासाठी सुरू ठेवा...
7अंतिम आउटपुट: "!dlroW ,olleH"
8अल्गोरिदम प्रत्येक अक्षराकडे सारखेच वागतो—चाहे तो अक्षर, संख्या, विराम चिन्ह, अंतर किंवा इमोजी असो. सर्व काही उलट्या आउटपुटमध्ये जतन केले जाते. ही सातत्यपूर्ण हाताळणी हेच कारण आहे की ते विविध भाषा आणि अक्षर संचांमध्ये विश्वसनीयपणे कार्य करते.
तुम्हाला माहित असलेले महत्वाचे किनारे प्रकरणे
मजकूर उलटवताना, तुम्हाला काही रोचक किनारे प्रकरणे भेटतील:
रिकामे स्ट्रिंग्ज: रिकाम्या स्ट्रिंगला उलटवल्यास तुम्हाला... रिकामी स्ट्रिंग मिळते. समजले, बरोबर? उलटवायला काहीच नाही.
एकल अक्षर: "A" ला उलटवल्यास तुम्हाला "A" मिळते. हे स्वतःचे उलटे आहे, जसे सर्व एकल अक्षरे.
युनिकोड आणि इमोजी: येथे गोष्टी रोचक होतात. अल्गोरिदम युनिकोडला योग्यरित्या हाताळतो, ज्यामध्ये इमोजी, जपानी अक्षरे, अरबी लिपी आणि इतर नॉन-लॅटिन मजकूर समाविष्ट आहेत. "こんにちは 🌍" सह ते चाचपून पहा आणि तुम्हाला दिसेल की ते बरोबर काम करते.
श्वेतस्थान आणि विशेष वर्ण: अंतराळ, टॅब, नवीन ओळी, विराम चिन्हे - सर्व काही अगदी तसेच उलटवले जाते. "Hello World" (3 अंतराळांसह) "dlroW olleH" (अजूनही 3 अंतराळ) बनते.
खूप लांब मजकूर: अत्यंत मोठ्या इनपुटसाठी (मेगाबाइट्स मजकूर विचारात घ्या), तुम्ही उपलब्ध मेमरीने मर्यादित आहात. बहुतेक आधुनिक सिस्टम्स हे काही मेगाबाइट्स पर्यंत ठीक हाताळतात, परंतु जर तुम्ही गिगाबाइट आकाराच्या फाइल्स प्रक्रिया करत असाल, तर तुम्हाला मेमरीमध्ये सर्व काही लोड करण्याऐवजी स्ट्रीमिंग सोल्यूशन हवे असेल.
एक गोष्ट मी लक्षात घेतली आहे: संयुक्त अक्षरे आणि ग्राफीम क्लस्टर्स कधीकधी अनपेक्षितरित्या वागू शकतात. उदाहरणार्थ, त्वचेच्या टोनच्या मॉडिफायरसह इमोजी तांत्रिकदृष्ट्या अनेक युनिकोड कोड पॉइंट्स असतात. बहुतेक अंमलबजावणी यास योग्यरित्या हाताळतात, परंतु जर तुम्ही जटिल युनिकोडसह काम करत असाल तर तुमच्या विशिष्ट वापराच्या बाबतीत ते चाचपून पहाणे महत्वाचे आहे.
मजकूर उलटणीचे वास्तविक जगातील वापर प्रकार
तुम्हाला आश्चर्य वाटेल की मजकूर उलटणी किती वेळा व्यावहारिक वापरात येते. येथे काही परिदृश्ये आहेत जिथे मी याचा वापर पाहिला आहे:
प्रोग्रामिंग आणि विकास
पालिंड्रोम तपासणी: जेव्हा तुम्हाला असे पडताळून पाहायचे असते की एखादा शब्द पुढून आणि मागून एकसारखा वाचला जातो, तेव्हा तुम्ही त्याला उलटता आणि तुलना करता. उदाहरण "रेसकार" → "रेसकार" (जुळते = पालिंड्रोम).
स्ट्रिंग अल्गोरिदम सराव: मजकूर उलटणी हा एक क्लासिक कोडिंग मुलाखत प्रश्न आहे जो स्ट्रिंग हाताळणी आणि मूलभूत डेटा संरचनांबद्दलचे तुमचे ज्ञान तपासतो.
स्टॅक अमंलबजावणी प्रदर्शने: मजकूर उलटणी LIFO (शेवटी-आत-प्रथम-बाहेर) वर्तणुकीचे सावली उदाहरण आहे कारण एक स्टॅक स्वाभाविकपणे क्रम उलटतो.
क्रिप्टोग्राफी आणि सुरक्षा
मूलभूत एन्कोडिंग: स्वतःमध्ये सुरक्षित नसले तरी, मजकूर उलटणी कधीकधी बहु-पायरी एन्कोडिंग योजनेमध्ये एक थर म्हणून वापरली जाते. हे खरी एन्क्रिप्शन पेक्षा अधिक गुप्तता करण्यासाठी आहे.
आव्हान-प्रतिसाद प्रणाली: काही प्रमाणीकरण प्रणाली त्यांच्या सत्यापन प्रक्रियेचा भाग म्हणून उलटलेले स्ट्रिंग वापरतात.
रचनात्मक आणि शैक्षणिक अनुप्रयोग
शब्द खेल आणि कोडे: आव्हाने तयार करा जिथे खेळाडू उलटलेले शब्द ओळखतात किंवा संदेश कोड उकलतात. बाहेर पडण्याच्या खोल्यांमध्ये आणि कोडे अॅप्समध्ये लोकप्रिय.
दर्पण लेखन प्रभाव: डिझाइनर लोगो, कलात्मक प्रभाव किंवा परावर्तन समाविष्ट करणाऱ्या दृश्य डिझाइनसाठी उलटलेला मजकूर वापरतात.
शिकवण्याचे साधन: मूलभूत तत्वांना समजावताना, मजकूर उलटणी समजण्यास इतकी सोपी आहे पण महत्वाच्या संकल्पना जसे पुनरावर्तन आणि अॅरे हाताळणी दाखविण्यास पुरेशी जटिल आहे.
मजकूर विश्लेषण
भाषाशास्त्रीय संशोधन: भाषा पॅटर्न अभ्यासणारे संशोधक मजकूर पुढून आणि मागून दोन्ही दिशांनी विश्लेषण करतात ताकीद संरचनात्मक वैशिष्ट्ये ओळखण्यासाठी.
पॅटर्न शोध: मजकूरात समरूपता तपासणे किंवा मोठ्या डेटासेटमध्ये अंतर्भूत उलटलेल्या अनुक्रमांचा शोध घेणे.
मजकूर उलटणीचे वेगवेगळे प्रकार
अक्षर-दर-अक्षर उलटणी तुमची एकमेव पर्याय नाही. तुम्ही काय साध्य करू इच्छिता त्यावर अवलंबून, हे पर्याय अधिक चांगले काम करू शकतात:
शब्द उलटणी: प्रत्येक शब्द अबाधित ठेवून त्यांचा क्रम उलटा करा. भाषा शिकण्यासाठी आणि काही मजकूर प्रक्रिया कार्यांसाठी उपयुक्त.
- उदाहरण: "हॅलो वर्ल्ड" → "वर्ल्ड हॅलो"
वाक्य उलटणी: वाक्यांचा क्रम उलटा करा तर प्रत्येक वाक्यातील शब्दांचा क्रम जपा.
- उदाहरण: "हॅलो वर्ल्ड. तुम्ही कसे आहात?" → "तुम्ही कसे आहात? हॅलो वर्ल्ड."
निवडक उलटणी: तुमच्या निकषानुसार फक्त विशिष्ट भाग उलटा करा—कदाचित फक्त स्वर, किंवा फक्त 5 अक्षरांपेक्षा लांब शब्द. शब्द कोडे किंवा पॅटर्न विश्लेषणासाठी उत्कृष्ट.
- उदाहरण: "हॅलो वर्ल्ड" मधील फक्त स्वर उलटणे → "हॉलो वर्ल्ड"
ध्वनी उलटणी: भाषाशास्त्रीय संशोधनात वापरले, हे अक्षरांऐवजी ध्वनी उलटते. यासाठी प्रथम ध्वनी लिपी आवश्यक आहे.
बिट-स्तरीय उलटणी: अक्षरांच्या बाइनरी प्रतिनिधित्वाला उलटते. तुम्ही हे काही क्रिप्टोग्राफिक ऑपरेशन्स आणि कमी-स्तरीय डेटा हाताळणीमध्ये पाहाल.
मजकूराचा उलटा क्रम इतिहास
मजकूराचा उलटा क्रम तुम्हाला वाटण्यापेक्षा खूप जुना आहे—प्राचीन लेखन प्रणालीपासून आधुनिक संगणक युगापर्यंत.
प्राचीन लेखन आणि मिरर मजकूर
प्राचीन सभ्यतांनी संगणक अस्तित्वात येण्यापूर्वी दिशात्मक लेखनाचे प्रयोग केले. ग्रीक आणि मिसरी लोकांनी कधीकधी "बौस्ट्रोफेडॉन" शैली वापरली, जिथे ओळी बदलत्या दिशेने असतात—डावीकडून उजवीकडे, मग उजवीकडून डावीकडे, एखाद्या बैलाच्या नांगरणीप्रमाणे (ज्याचा अर्थ "बौस्ट्रोफेडॉन" असाच आहे).
लिओनार्डो दा विंची यांनी आपल्या नोटबुकमध्ये मिरर लेखन भरले, जिथे मजकूर उलटा दिसतो. इतिहासकार वाद करतात की हे गुप्तता साठी होते, त्यांच्या डाव्या हाताने लिहिण्यासाठी सोयीचे होते किंवा फक्त शाईचे धुऊन टाकण्यापासून वाचण्यासाठी. कारणजे काहीही असो, त्यांच्या नोटबुकमध्ये दर्शवले आहे की मजकूराचा उलटा क्रम शतकांपासून एक एन्कोडिंग तंत्र म्हणून वापरला जात होता.
संगणक युग
जेव्हा संगणक 1950-60 च्या दशकात उदयास आले, तेव्हा स्ट्रिंग हाताळणी एक मूलभूत प्रोग्रामिंग अभ्यास बनली. मजकूराचा उलटा क्रम त्या क्लासिक समस्यांपैकी एक होता ज्या प्रत्येक प्रोग्रामरने शिकल्या, सॉर्टिंग आणि शोधण्याबरोबर.
जे त्याला विशेष रोचक बनवले: स्टॅक डेटा संरचनांचा विकास स्वाभाविकपणे मजकूराच्या उलट्या क्रमाशी जोडला गेला. एक स्टॅकचे LIFO (शेवटचे-आत-पहिले-बाहेर) वर्तन स्वयंचलितपणे क्रम उलटतो—"HELLO" अक्षर-अक्षर स्टॅकवर ठेवा, त्यांना काढा, आणि तुम्हाला "OLLEH" मिळेल. हा सुंदर संबंध मजकूराचा उलटा क्रम डेटा संरचना शिकवण्यासाठी एक उदाहरण बनवतो.
आधुनिक अनुप्रयोग
आज, तुम्हाला मजकूराच्या उलट्या क्रमाचे अल्गोरिदम पडद्याआड काम करताना दिसतील:
- कंपाइलर आणि पार्सर: सिंटॅक्स विश्लेषण आणि अभिव्यक्ती मूल्यांकनात वापरले
- स्ट्रिंग जुळवणी अल्गोरिदम: बॉयर-मूर अल्गोरिदम सारखे जे पॅटर्न उजवीकडून डावीकडे प्रक्रिया करतात
- क्रिप्टोग्राफी: अधिक जटिल एन्क्रिप्शन योजनांमध्ये बिल्डिंग ब्लॉक्स म्हणून
- नैसर्गिक भाषा प्रक्रिया: भाषाई पॅटर्न विश्लेषण, पालिंड्रोम शोधणे, आणि मजकूर संरचना अभ्यासणे
अल्गोरिदमची साधेपणा (हा पहिला आहे जो तुम्ही शिकता) त्याच्या व्यावहारिक उपयोगाबरोबर सुनिश्चित करतो की तो त्याच्या पहिल्या अंमलबजावणीनंतर दशकांपासून प्रासंगिक राहील.
कोड उदाहरणे: विविध भाषांमध्ये मजकूर उलटणे
येथे लोकप्रिय प्रोग्रामिंग भाषांमध्ये मजकूर उलटण्याचे कसे करावे ते दाखवले आहे. प्रत्येक उदाहरण मूलभूत अल्गोरिदम आणि व्यावहारिक वापर दर्शवते:
1' मजकूर उलटण्यासाठी Excel VBA फंक्शन
2Function InvertText(inputText As String) As String
3 Dim i As Integer
4 Dim result As String
5
6 result = ""
7 For i = Len(inputText) To 1 Step -1
8 result = result & Mid(inputText, i, 1)
9 Next i
10
11 InvertText = result
12End Function
13' सेलमध्ये वापर:
14' =InvertText("Hello, World!")
151def invert_text(input_text):
2 """स्ट्रिंगमधील अक्षरांची क्रम उलटा करा."""
3 return input_text[::-1]
4उदाहरण वापर:
1original_text = "हॅलो, वर्ल्ड!"
2inverted_text = invert_text(original_text)
3print(f"मूळ: {original_text}")
4print(f"उलटे: {inverted_text}")
5
6# युनिकोड अक्षरांचे हाताळणे
7unicode_text = "こんにちは世界! 🌍"
8inverted_unicode = invert_text(unicode_text)
9print(f"मूळ युनिकोड: {unicode_text}")
10print(f"उलटे युनिकोड: {inverted_unicode}")
111function invertText(inputText) {
2 return inputText.split('').reverse().join('');
3}
4
5// उदाहरण वापर:
6const originalText = "हॅलो, वर्ल्ड!";
7const invertedText = invertText(originalText);
8console.log(`मूळ: ${originalText}`);
9console.log(`उलटे: ${invertedText}`);
10
11// रिकाम्या स्ट्रिंगचे हाताळणे
12console.log(`रिकामी स्ट्रिंग उलटी: "${invertText("")}"`);
13
14// युनिकोडचे हाताळणे
15const unicodeText = "こんにちは世界! 🌍";
16console.log(`मूळ युनिकोड: ${unicodeText}`);
17console.log(`उलटे युनिकोड: ${invertText(unicodeText)}`);
181public class TextInverter {
2 public static String invertText(String inputText) {
3 return new StringBuilder(inputText).reverse().toString();
4 }
5
6 public static void main(String[] args) {
7 String originalText = "हॅलो, वर्ल्ड!";
8 String invertedText = invertText(originalText);
9
10 System.out.println("मूळ: " + originalText);
11 System.out.println("उलटे: " + invertedText);
12
13 // युनिकोड अक्षरांचे हाताळणे
14 String unicodeText = "こんにちは世界! 🌍";
15 String invertedUnicode = invertText(unicodeText);
16 System.out.println("मूळ युनिकोड: " + unicodeText);
17 System.out.println("उलटे युनिकोड: " + invertedUnicode);
18 }
19}
201invert_text <- function(input_text) {
2 # वर्ण वेक्टरमध्ये रूपांतरित करा, उलटे करा आणि एकत्र करा
3 paste(rev(strsplit(input_text, "")[[1]]), collapse = "")
4}
5
6# उदाहरण वापर
7original_text <- "हॅलो, वर्ल्ड!"
8inverted_text <- invert_text(original_text)
9cat("मूळ:", original_text, "\n")
10cat("उलटे:", inverted_text, "\n")
111function invertedText = invertText(inputText)
2 % स्ट्रिंगमधील अक्षरांची क्रम उलटा करण्याचा फंक्शन
3 invertedText = inputText(end:-1:1);
4end
5
6% उदाहरण वापर
7originalText = 'हॅलो, वर्ल्ड!';
8invertedText = invertText(originalText);
9fprintf('मूळ: %s\n', originalText);
10fprintf('उलटे: %s\n', invertedText);
111#include <iostream>
2#include <string>
3#include <algorithm>
4
5std::string invertText(const std::string& inputText) {
6 std::string result = inputText;
7 std::reverse(result.begin(), result.end());
8 return result;
9}
10
11int main() {
12 std::string originalText = "हॅलो, वर्ल्ड!";
13 std::string invertedText = invertText(originalText);
14
15 std::cout << "मूळ: " << originalText << std::endl;
16 std::cout << "उलटे: " << invertedText << std::endl;
17
18 // रिकाम्या स्ट्रिंगचे हाताळणे
19 std::cout << "रिकामी स्ट्रिंग उलटी: \"" << invertText("") << "\"" << std::endl;
20
21 return 0;
22}
231def invert_text(input_text)
2 input_text.reverse
3end
4
5# उदाहरण वापर
6original_text = "हॅलो, वर्ल्ड!"
7inverted_text = invert_text(original_text)
8puts "मूळ: #{original_text}"
9puts "उलटे: #{inverted_text}"
10
11# युनिकोड अक्षरांचे हाताळणे
12unicode_text = "こんにちは世界! 🌍"
13inverted_unicode = invert_text(unicode_text)
14puts "मूळ युनिकोड: #{unicode_text}"
15puts "उलटे युनिकोड: #{inverted_unicode}"
161<?php
2function invertText($inputText) {
3 return strrev($inputText);
4}
5
6// उदाहरण वापर
7$originalText = "हॅलो, वर्ल्ड!";
8$invertedText = invertText($originalText);
9echo "मूळ: $originalText\n";
10echo "उलटे: $invertedText\n";
11
12// युनिकोड अक्षरांचे हाताळणे
13$unicodeText = "こんにちは世界! 🌍";
14$invertedUnicode = invertText($unicodeText);
15echo "मूळ युनिकोड: $unicodeText\n";
16echo "उलटे युनिकोड: $invertedUnicode\n";
17?>
181fn invert_text(input_text: &str) -> String {
2 input_text.chars().rev().collect()
3}
4
5fn main() {
6 let original_text = "हॅलो, वर्ल्ड!";
7 let inverted_text = invert_text(original_text);
8
9 println!("मूळ: {}", original_text);
10 println!("उलटे: {}", inverted_text);
11
12 // युनिकोड अक्षरांचे हाताळणे
13 let unicode_text = "こんにちは世界! 🌍";
14 let inverted_unicode = invert_text(unicode_text);
15 println!("मूळ युनिकोड: {}", unicode_text);
16 println!("उलटे युनिकोड: {}", inverted_unicode);
17}
181using System;
2
3class TextInverter
4{
5 public static string InvertText(string inputText)
6 {
7 char[] charArray = inputText.ToCharArray();
8 Array.Reverse(charArray);
9 return new string(charArray);
10 }
11
12 static void Main()
13 {
14 string originalText = "हॅलो, वर्ल्ड!";
15 string invertedText = InvertText(originalText);
16
17 Console.WriteLine($"मूळ: {originalText}");
18 Console.WriteLine($"उलटे: {invertedText}");
19
20 // रिकाम्या स्ट्रिंगचे हाताळणे
21 Console.WriteLine($"रिकामी स्ट्रिंग उलटी: \"{InvertText("")}\"");
22
23 // युनिकोड अक्षरांचे हाताळणे
24 string unicodeText = "こんにちは世界! 🌍";
25 string invertedUnicode = InvertText(unicodeText);
26 Console.WriteLine($"मूळ युनिकोड: {unicodeText}");
27 Console.WriteLine($"उलटे युनिकोड: {invertedUnicode}");
28 }
29}
301package main
2
3import (
4 "fmt"
5)
6
7func invertText(inputText string) string {
8 runes := []rune(inputText)
9 for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 {
10 runes[i], runes[j] = runes[j], runes[i]
11 }
12 return string(runes)
13}
14
15func main() {
16 originalText := "हॅलो, वर्ल्ड!"
17 invertedText := invertText(originalText)
18
19 fmt.Printf("मूळ: %s\n", originalText)
20 fmt.Printf("उलटे: %s\n", invertedText)
21
22 // युनिकोड अक्षरांचे हाताळणे
23 unicodeText := "こんにちは世界! 🌍"
24 invertedUnicode := invertText(unicodeText)
25 fmt.Printf("मूळ युनिकोड: %s\n", unicodeText)
26 fmt.Printf("उलटे युनिकोड: %s\n", invertedUnicode)
27}
281func invertText(_ inputText: String) -> String {
2 return String(inputText.reversed())
3}
4
5// उदाहरण वापर
6let originalText = "हॅलो, वर्ल्ड!"
7let invertedText = invertText(originalText)
8
9print("मूळ: \(originalText)")
10print("उलटे: \(invertedText)")
11
12// युनिकोड अक्षरांचे हाताळणे
13let unicodeText = "こんにちは世界! 🌍"
14let invertedUnicode = invertText(unicodeText)
15print("मूळ युनिकोड: \(unicodeText)")
16print("उलटे युनिकोड: \(invertedUnicode)")
17कार्यक्षमता अनुकूलन टिप्स
जर तुम्ही उत्पादन कोडमध्ये मजकूर उलटणी करत असाल, तर येथे काही कार्यक्षमता घटक आहेत ज्यांचा विचार करण्यासारखा आहे:
मेमरी वापर: उलटलेली प्रत उलटणीसाठी तुमच्या इनपुट आकाराइतकी मेमरी आवश्यक असते. लहान ते मध्यम स्ट्रिंग्ससाठी (1 MB पेक्षा कमी), हे नगण्य आहे. मोठ्या मजकुरासाठी, तुम्ही तात्पुरत्या स्वरूपात मेमरी वापर दुप्पट करत आहात.
इन-प्लेस उलटणी: C, C++, आणि Rust सारख्या भाषा तुम्हाला थेट मेमरीमध्ये वर्णमाला उलटू देतात बिना नवी प्रत तयार करण्याच्या. हे मेमरी वापर अर्ध्यावर आणते पण केवळ बदलण्यायोग्य स्ट्रिंग्ससाठी काम करते. बहुतेक भाषा (Python, JavaScript, Java) अपरिवर्तनीय स्ट्रिंग्स वापरतात, म्हणून तुम्हाला नवी तयार करावी लागते.
युनिकोड हाताळणी: येथे गोष्टी जटिल होतात. बहु-बाइट युनिकोड वर्ण योग्य हाताळणी गरजेची असते अन्यथा तुम्ही एन्कोडिंग बिघडवाल. बहुतेक आधुनिक भाषा मानक लायब्ररी हे योग्य रीतीने हाताळतात, पण जर तुम्ही निम्न-स्तरावरील कोड लिहित असाल किंवा थेट बाइट अॅरेज सह काम करत असाल तर सावध राहा. इमोजी आणि नॉन-लॅटिन लिपींसह तपासा.
मोठ्या फाइल्ससाठी स्ट्रीमिंग: जर तुम्ही गिगाबाइट आकाराच्या लॉग फाइल्स किंवा डेटासेटचे उलटणी करत असाल, तर सर्व काही मेमरीमध्ये लोड करू नका. स्ट्रीमिंग दृष्टीकोन वापरा—शेवटापासून तुकडे वाचा, जसे जसे जाता लिहा. युनिकोड तांत्रिक मानक #18 नुसार, ग्राफीम क्लस्टर हाताळणीसाठी विशेष लक्ष देणे आवश्यक आहे.
समानांतर प्रक्रिया: अत्यंत लांब स्ट्रिंग्ससाठी, तुम्ही सैद्धांतिकरित्या उलटणी समानांतर करू शकता (तुकडे विभाजित करा, प्रत्येक उलटा, जोडा). व्यवहारात, ओव्हरहेड सहसा फायदेशीर नसतो जोपर्यंत तुम्ही विशाल डेटासेट्स सह काम करत नाही आणि संगणन संसाधने उपलब्ध नाहीत.
वारंवार विचारले जाणारे प्रश्न
मी ऑनलाइन मजकूर कसा उलटवू शकतो?
वरील इनपुट क्षेत्रात तुमचा मजकूर पेस्ट किंवा टाइप करा. साधन रीयल-टाइम मध्ये स्वयंचलितपणे उलटवते—कोणत्याही बटणावर क्लिक करण्याची आवश्यकता नाही. एका क्लिकमध्ये निकाल कॉपी करा.
मजकूर उलटवणे आणि शब्द उलटवण्यामध्ये काय फरक आहे?
मजकूर उलटवणे (अक्षर उलटवणे) व्यक्तिगत अक्षरांना उलटते: "Hello World" → "dlroW olleH". शब्द उलटवणे प्रत्येक शब्दाला अबाधित ठेवते परंतु त्यांच्या क्रमाला उलटते: "Hello World" → "World Hello". हे साधन अक्षर उलटवणे करते.
हे साधन इमोजी आणि युनिकोड अक्षरांना हाताळू शकते का?
होय. साधन सर्व युनिकोड अक्षरांना हाताळते, ज्यामध्ये इमोजी, चीनी/जपानी/कोरियन मजकूर, अरबी लिपी, विशेष चिन्हे आणि संयुक्त अक्षर समाविष्ट आहेत. "こんにちは 🌍" सह प्रयत्न करून पहा.
उलटलेला मजकूर मिरर लेखनासारखा आहे का?
ते संबंधित आहेत परंतु सारखे नाहीत. अक्षर उलटवणे (हे साधन करते) केवळ अक्षर क्रम उलटते. मिरर लेखन अक्षरांना क्षैतिजपणे उलटते जेणेकरून ते मिरर प्रतिबिंबासारखे दिसतात. मिरर लेखन वाचण्यासाठी, तुम्हाला खरा मिरर किंवा क्षैतिज उलटवणे आवश्यक आहे.
मला मजकूर उलटवण्याची गरज का असेल?
सामान्य वापर यामध्ये समावेश आहे: पॅलिंड्रोम तपासणे, कोड्यांसाठी साधे एन्कोडिंग तयार करणे, प्रोग्रामिंगसाठी टेस्ट डेटा तयार करणे, कलात्मक मजकूर प्रभाव तयार करणे, स्ट्रिंग अल्गोरिदम शिकवणे आणि मजकूर प्रक्रिया कोड डीबग करणे.
मजकूर दोनदा उलटल्यास मला मूळ मजकूर परत मिळेल का?
होय. मजकूर उलटवणे स्वतःचे उलट ऑपरेशन आहे. जर तुम्ही "Hello" ला "olleH" मध्ये उलटवले, नंतर "olleH" ला उलटवले, तर तुम्हाला पुन्हा "Hello" मिळेल. गणितीय दृष्ट्या, याला इन्वोल्यूशन म्हणतात.
मजकूर उलटवणे किती वेगवान आहे?
हे खूप वेगवान आहे—रैखिक वेळ जटिलता O(n) जेथे n मजकूराची लांबी आहे. सामान्य मजकूरासाठी (काही परिच्छेद), प्रक्रिया तात्काळ होते. खूप लांब मजकूरासाठी (हजारो शब्द), आधुनिक संगणक हे मिलिसेकंदात हाताळतात.
मी एक्सेल किंवा गुगल शीट्समध्ये मजकूर उलटवू शकतो का?
होय, परंतु तुम्हाला एक कस्टम फंक्शन आवश्यक आहे कारण कोणतेही अंतर्निहित उलटवणे फंक्शन नाही. वरील कोड उदाहरण विभागात एक्सेल VBA आणि इतर प्रोग्रामिंग अंमलबजावणींसाठी तपासा.
तांत्रिक संदर्भ
-
नुथ, डी. ई. (1997). कॉम्प्युटर प्रोग्रामिंगचा कला, खंड 1: मूलभूत अल्गोरिदम (3रे आवृत्ती). अॅडिसन-वेस्ली प्रोफेशनल.
-
सेडगविक, आर., & वेन, के. (2011). अल्गोरिदम (4थी आवृत्ती). अॅडिसन-वेस्ली प्रोफेशनल.
-
युनिकोड कंसोर्शियम. युनिकोड तांत्रिक मानक #18: युनिकोड नियमित व्यक्ती Available at: https://unicode.org/reports/tr18/
-
MDN वेब डॉक्स. स्ट्रिंग पद्धती संदर्भ. मोझिला डेव्हलपर नेटवर्क. Available at: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
-
कॉर्मेन, टी. एच., लेसर्सन, सी. ई., रिवेस्ट, आर. एल., & स्टेन, सी. (2009). अल्गोरिदमचा परिचय (3रे आवृत्ती). एमआयटी प्रेस.