Swap corner words and reverse middle characters

Write a Java program to take an input string and exchange the first and last word and reverse the middle word.
Examples:
Input : Hello World GFG Welcomes You Output :You semocleW GFG dlroW Hello
Approach:
- First we take two empty Strings and first String take the first word and second String takes the last word
- When we iterate each word, then we must take care about the variable pointing to next word apart from the last word.
- Now we reverse the left String in the given String.
- After the above process, we first print last word and reverse of left Strings and after that the first word.
C++
// C++ Program to illustrate the solution// of above problem#include <iostream>using namespace std;void print(string s){ // Taking an Empty String string fst = ""; int i = 0; for (i = 0; i < s.length();) { // Iterating from starting index // When we get space, loop terminates while (s[i] != ' ') { fst = fst + s[i]; i++; } // After getting one Word break; } // Taking an Empty String string last = ""; int j = 0; for (j = s.length() - 1; j >= i;) { // Iterating from last index // When we get space, loop terminates while (s[j] != ' ') { last = s[j] + last; j--; } // After getting one Word break; } // Printing last word cout<<last; for (int m = j; m >= i; m--) { // Reversing the left characters cout<<s[m]; } // Printing the first word cout<<fst;}int main() { string s = "Hello World GFG Welcomes You"; print(s); return 0;}//This code is contributed by vt_m. |
Java
// Java Program to illustrate the solution of above problempublic class ExchangeFirstLastReverseMiddle { static void print(String s) { // Taking an Empty String String fst = ""; int i = 0; for (i = 0; i < s.length();) { // Iterating from starting index // When we get space, loop terminates while (s.charAt(i) != ' ') { fst = fst + s.charAt(i); i++; } // After getting one Word break; } // Taking an Empty String String last = ""; int j = 0; for (j = s.length() - 1; j >= i;) { // Iterating from last index // When we get space, loop terminates while (s.charAt(j) != ' ') { last = s.charAt(j) + last; j--; } // After getting one Word break; } // Printing last word System.out.print(last); for (int m = j; m >= i; m--) { // Reversing the left characters System.out.print(s.charAt(m)); } // Printing the first word System.out.println(fst); } public static void main(String[] args) { String s = "Hello World GFG Welcomes You"; print(s); }} |
Python3
# Python3 Program to illustrate the solution# of above problemdef Print(s) : # Taking an Empty String fst = "" i = 0 while(i < len(s)) : # Iterating from starting index # When we get space, loop terminates while (s[i] != ' ') : fst = fst + s[i] i += 1 # After getting one Word break # Taking an Empty String last = "" j = len(s) - 1 while(j >= i) : # Iterating from last index # When we get space, loop terminates while (s[j] != ' ') : last = s[j] + last j -= 1 # After getting one Word break # Printing last word print(last, end = "") m = j while m >= i : # Reversing the left characters print(s[m] , end = "") m -= 1 # Printing the first word print(fst, end = "")# Driver codes = "Hello World GFG Welcomes You"Print(s)# This code is contributed by divyeshrabadiya07 |
C#
// C# Program to illustrate the//solution of above problemusing System;class ExchangeFirstLastReverseMiddle{ static void print(string s) { // Taking an Empty String string fst = ""; int i = 0; for (i = 0; i < s.Length;) { // Iterating from starting index // When we get space, loop terminates while (s[i] != ' ') { fst = fst + s[i]; i++; } // After getting one Word break; } // Taking an Empty String string last = ""; int j = 0; for (j = s.Length - 1; j >= i;) { // Iterating from last index // When we get space, loop terminates while (s[j] != ' ') { last = s[j] + last; j--; } // After getting one Word break; } // Printing last word Console.Write(last); for (int m = j; m >= i; m--) { // Reversing the left characters Console.Write(s[m]); } // Printing the first word Console.Write(fst); } // Driver code public static void Main() { string s = "Hello World GFG Welcomes You"; print(s); }}//This code is contributed by vt_m |
Output:
You semocleW GFG dlroW Hello
Time Complexity: O(N2) where N is the length of the string
Auxiliary Space: O(1)



