একটি পদ্ধতি বিপরীত শব্দ তৈরি করুন যা একটি ইনপুট হিসাবে চার অ্যারে নেয় এবং প্রতিটি অক্ষরের জন্য যতক্ষণ না খালি স্থানটি শব্দটি বিপরীতে পৌঁছে না যায়। শেষ ধাপে পুরো স্ট্রিংটি দৈর্ঘ্য 0 থেকে n-1 দৈর্ঘ্য পর্যন্ত বিপরীত করুন। প্রথম ধাপে "এটি আমার বই" স্ট্রিংটি "koob ym si siht"-এ পরিণত হবে। দ্বিতীয় ধাপের শেষে স্ট্রিং শব্দগুলো "বুক মাই ইজ দিস"
-এ উল্টে যাবেসময় জটিলতা − O(N)
উদাহরণ
using System; namespace ConsoleApplication{ public class Arrays{ static void reverse(char[] str, int start, int end){ char temp; while (start <= end){ temp = str[start]; str[start] = str[end]; str[end] = temp; start++; end--; } } public char[] reverseWords(char[] s){ int start = 0; for (int end = 0; end < s.Length; end++){ if (s[end] == ' '){ reverse(s, start, end); start = end + 1; } } reverse(s, 0, s.Length - 1); return s; } } class Program{ static void Main(string[] args){ Arrays a = new Arrays(); string s = " This is my book "; var res = a.reverseWords(s.ToCharArray()); Console.WriteLine(new String(res)); Console.ReadLine(); } } }
আউটপুট
book my is This