Substring Reverse Pattern Last Updated : 12 Sep, 2022 Comments Improve Suggest changes Like Article Like Report Given string str, the task is to print the pattern given in the examples below: Examples: Input: str = "geeks" Output: geeks *kee* **e** The reverse of "geeks" is "skeeg" Replace the first and last characters with '*' i.e. *kee* Replace the second and second last character in the modified string i.e. **e** And so on. Input: str = "first" Output: first *sri* **r** Approach: Print the unmodified string.Reverse the string and initialize i = 0 and j = n - 1.Replace s[i] = '*' and s[j] = '*' and update i = i + 1 and j = j - 1 then print the modified string.Repeat the above steps while j - i > 1. Below is the implementation of the above approach: C++ // C++ program to print the required pattern #include <bits/stdc++.h> using namespace std; // Function to print the required pattern void printPattern(char s[], int n) { // Print the unmodified string cout << s << "\n"; // Reverse the string int i = 0, j = n - 2; while (i < j) { char c = s[i]; s[i] = s[j]; s[j] = c; i++; j--; } // Replace the first and last character by '*' then // second and second last character and so on // until the string has characters remaining i = 0; j = n - 2; while (j - i > 1) { s[i] = s[j] = '*'; cout << s << "\n"; i++; j--; } } // Driver code int main() { char s[] = "geeks"; int n = sizeof(s) / sizeof(s[0]); printPattern(s, n); return 0; } Java // Java program to print the required pattern class GFG { // Function to print the required pattern static void printPattern(char[] s, int n) { // Print the unmodified string System.out.println(s); // Reverse the string int i = 0, j = n - 1; while (i < j) { char c = s[i]; s[i] = s[j]; s[j] = c; i++; j--; } // Replace the first and last character // by '*' then second and second last // character and so on until the string // has characters remaining i = 0; j = n - 1; while (j - i > 1) { s[i] = s[j] = '*'; System.out.println(s); i++; j--; } } // Driver Code public static void main(String []args) { char[] s = "geeks".toCharArray(); int n = s.length; printPattern(s, n); } } // This code is contributed by Rituraj Jain Python3 # Python3 program to print the required pattern # Function to print the required pattern def printPattern(s, n): # Print the unmodified string print(''.join(s)) # Reverse the string i, j = 0, n - 1 while i < j: s[i], s[j] = s[j], s[i] i += 1 j -= 1 # Replace the first and last character # by '*' then second and second last # character and so on until the string # has characters remaining i, j = 0, n - 1 while j - i > 1: s[i], s[j] = '*', '*' print(''.join(s)) i += 1 j -= 1 # Driver code if __name__ == "__main__": s = "geeks" n = len(s) printPattern(list(s), n) # This code is contributed # by Rituraj Jain C# // C# program to print the required pattern using System; class GFG { // Function to print the required pattern static void printPattern(char[] s, int n) { // Print the unmodified string Console.WriteLine(s); // Reverse the string int i = 0, j = n - 1; while (i < j) { char c = s[i]; s[i] = s[j]; s[j] = c; i++; j--; } // Replace the first and last character // by '*' then second and second last // character and so on until the string // has characters remaining i = 0; j = n - 1; while (j - i > 1) { s[i] = s[j] = '*'; Console.WriteLine(s); i++; j--; } } // Driver Code public static void Main(String []args) { char[] s = "geeks".ToCharArray(); int n = s.Length; printPattern(s, n); } } // This code is contributed by 29AjayKumar JavaScript <script> // Javascript program to print the required pattern // Function to print the required pattern function printPattern(s, n) { // Print the unmodified string document.write( s.join('') + "<br>"); // Reverse the string var i = 0, j = n - 1; while (i < j) { var c = s[i]; s[i] = s[j]; s[j] = c; i++; j--; } // Replace the first and last character by '*' then // second and second last character and so on // until the string has characters remaining i = 0; j = n - 1; while (j - i > 1) { s[i] = s[j] = '*'; document.write( s.join('') + "<br>"); i++; j--; } } // Driver code var s = "geeks".split(''); var n = s.length; printPattern(s, n); </script> Outputgeeks *kee* **e** Complexity Analysis: Time Complexity: O(N) since one traversal of the string is required to complete all operations hence the overall time required by the algorithm is linearAuxiliary Space: O(1) since no extra array is used so the space taken by the algorithm is constant Comment More infoAdvertise with us Next Article Substring Reverse Pattern S SanjayR Follow Improve Article Tags : Strings Technical Scripter C Programs DSA Reverse pattern-printing substring +3 More Practice Tags : pattern-printingReverseStrings Similar Reads Reverse String in C In C, reversing a string means rearranging the characters such that the last character becomes the first, the second-to-last character becomes the second, and so on. In this article, we will learn how to reverse string in C.The most straightforward method to reverse string is by using two pointers t 3 min read Program for Reversed String Pattern Given string str as the input. The task is to print the pattern as shown in the example. Examples: Input : str = "geeks" Output : g e e * s k Explanation : In the first line, print the first character in the string. In the second line, print the next two characters in reverse order. In the third lin 6 min read Perfect reversible string You are given a string 'str', the task is to check the reverses of all possible substrings of 'str' are present in 'str' or not. Examples: Input : str = "ab" Output: "NO" // all substrings are "a","b","ab" but reverse // of "ab" is not present in str Input : str = "aba" Output: "YES" Input : str = " 6 min read PHP Reverse a String Reversing a string in PHP refers to rearranging a given string's characters in reverse order, starting from the last character to the first. This task is often used in text manipulation or algorithm challenges, highlighting PHP's string-handling capabilities.Examples: Input : GeeksforGeeksOutput : s 3 min read Reverse words in a string Given a string str, your task is to reverse the order of the words in the given string. Note that str may contain leading or trailing dots(.) or multiple trailing dots(.) between two words. The returned string should only have a single dot(.) separating the words.Examples:Input: str = "i.like.this.p 11 min read Like