Swap Corner Words and Reverse Middle Characters in JavaSwapping corner words and reversing middle characters in Java exemplify a creative approach to string manipulation, a fundamental programming aspect. The task involves altering the positions of the first and last words in a string while inverting the order of the characters nestled between them. Example 1: Input: "Java programming language tutorial" Output: "tutorial egaugnal gnimmargorp Java" Example 2: Input: "Data structures and algorithms" Output: "algorithms dna serutcurts Data" Example 3: Input: "Machine learning is fascinating" Output: "fascinating si gninrael Machine" Approach: Using ASCII valuesThe Java code for swapping corner words and reversing a string's middle characters leverages Java's string manipulation capabilities, not ASCII values. It utilizes character traversal and string concatenation to effect changes, showcasing a straightforward approach over low-level ASCII manipulations for text processing. The method underscores the efficiency of using built-in string functions for common string operations. Algorithm:Step 1: Input a string inputString and calculate its length stringLength. Step 2: Initialize two empty strings, firstWord and lastWord, for the corner words. Step 3: Use a loop to identify lastWord by traversing from the start until the first space is encountered. Step 4: Use another loop to identify firstWord by traversing from the end backwards until the first space is encountered from that end. Step 5: Initialize an empty string middleReversed for the reversed middle section. Step 6: Reverse the middle section (excluding the first and last words) by traversing it backward and appending each character to middleReversed. Include spaces as they are encountered. Step 7: Concatenate firstWord, middleReversed, and lastWord with spaces between them to form the final String. Implementation:Filename: StringSwapper.java Output: Swapped and Reversed String: tutorial egaugnal gnimmargorp Java Time Complexity: O(n): Linear, due to operations that scale with the input string's length. Auxiliary Space: O(1): Considered constant, focusing on the algorithm's inherent logic rather than the space for processed data. Approach: Using the split() methodThe approach used in the split() method from the String class for manipulating a given string by swapping its corner words and reversing the characters in the middle section. Algorithm:Step 1: Define a method performSwapAndReverse that takes a string input and its length size as parameters. Step 2: Split input into an array of words and Store the first word in a temporary variable temp. Step 3: Swap the first and last words in the array and Reassign the last word to temp. Step 4: Initialize an empty string reversedMiddle. Step 5: For each word from the second to the second-last, reverse it and append it to reversedMiddle. Step 6: Print the modified String: swapped first and last words with reversedMiddle in between. Step 7: In the main method, define a sample input string exampleInput. Calculate the length of exampleInput and store it in inputSize. Step 8: Call performSwapAndReverse with exampleInput and inputSize. Implementation:Filename: StringManipulation.java Output: Modified String: Java ni elpmaxe esrever dna Swap Time Complexity: The time complexity of the above code is O(n). The code's time complexity is linear due to the need to split the String and reverse the middle characters, which depends on the input string's length. Auxiliary Space: The code has the auxiliary space of O(n). The auxiliary space is linear, driven by the storage needed for the array of words from the split operation and the String for the reversed middle section. Next TopicKadane's Algorithm in Java |
We provides tutorials and interview questions of all technology like java tutorial, android, java frameworks
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India